Re: How to make a struct containing an associative array to deeply copy (for repeated usage in foreach) ?

2024-03-18 Thread novice2 via Digitalmars-d-learn

On Monday, 18 March 2024 at 10:05:43 UTC, novice2 wrote:

On Monday, 18 March 2024 at 08:50:42 UTC, rkompass wrote:
Or are the types T and S are put on the stack like ordinary 
arguments and the usage of arg1 and arg2 within the function 
is enveloped in switches that query these Types?


IMHO, only if you instantiate (make call) templfunc, then 
compiler create function with specified types.

Function created only once for given types combination.


this also can be helpfull:
https://dlang.org/spec/template.html#common_instantiation


Re: How to make a struct containing an associative array to deeply copy (for repeated usage in foreach) ?

2024-03-18 Thread novice2 via Digitalmars-d-learn

On Monday, 18 March 2024 at 08:50:42 UTC, rkompass wrote:
Given the types S and T in say `templfunc(S, T)(S arg1, T arg2) 
{}`
represent 2 different actual types in the program, does that 
mean that there are 4 versions of the `templfunc` function 
compiled in? (This was the C++ way iirc).


IMHO, only if you instantiate (make call) templfunc with all 
types.



Or are the types T and S are put on the stack like ordinary 
arguments and the usage of arg1 and arg2 within the function is 
enveloped in switches that query these Types?


IMHO, only if you instantiate (make call) templfunc, then 
compiler create function with specified types.

Function created only once for given types combination.


Re: Operator "+=" overloading for class?

2023-12-17 Thread novice2 via Digitalmars-d-learn

On Monday, 18 December 2023 at 03:39:16 UTC, Ki Rill wrote:
On Sunday, 17 December 2023 at 07:05:12 UTC, Adam D. Ruppe 
wrote:

On Sunday, 17 December 2023 at 04:13:20 UTC, Ki Rill wrote:

[...]


check what `op` is. pretty sure it is "+" not "+=" so your 
element isnt' saved anywhere. also a bit iffy there isn't a 
member here to work on


Yes, op is '+'. What do you mean by it isn't saved anywhere?


your code just return result value,
but it should not return but save result to "this"
see example at 
https://dlang.org/spec/operatoroverloading.html#index_op_assignment





Re: How can I get the total memory size of a Jagged Array

2023-11-14 Thread novice2 via Digitalmars-d-learn

may be std.string.representation() may help?
https://dlang.org/phobos/std_string.html#.representation

byteSize = representation(myString).length;


Re: DMD: How to compile executable without producing .obj file?

2023-11-12 Thread novice2 via Digitalmars-d-learn
on windpows you can hide (move .obj away from sources dir) by add 
to compile command

-od="%TEMP%\dmd\myproject"


Re: isBinary

2023-09-12 Thread novice2 via Digitalmars-d-learn

On Sunday, 3 September 2023 at 13:55:45 UTC, Vino wrote:

f.open(fn, "rb");


here you command to your pc: "now open fn and treat is as binary 
file"




Re: Counting an initialised array, and segments

2023-06-25 Thread novice2 via Digitalmars-d-learn

```
import std;
auto arr = [dchar(' '), '\t', 0x0a, 0x10];
void main()
{
writeln("Hello D: ", typeid(arr));
}
```


Re: GetInterfaceInfo function of win32 api

2023-06-07 Thread novice2 via Digitalmars-d-learn

On Thursday, 8 June 2023 at 05:29:07 UTC, Benny wrote:

Hello,


Hi!


I'm trying to call the function GetInterfaceInfo


it would be nice to see the code


didn't work.


it would be nice to see specifics (error code, results, etc)


Re: How static link dll msvcr120.dll?

2023-06-01 Thread novice2 via Digitalmars-d-learn

On Thursday, 1 June 2023 at 15:05:40 UTC, Marcone wrote:
I linked msvcr120.lib, but the executable still ask for 
msvcr120.dll not found.



i am sorry.
my words was sourced from common sence, usual practice.
it seems, msvcr120 is special case, and have only one version of 
.lib - for link to .dll

i cant find static lib for msvcr120 :(


Re: How static link dll msvcr120.dll?

2023-05-29 Thread novice2 via Digitalmars-d-learn

you cannot "static link dll", "d" in "dll" is "dynamic".
you can implicity or explicity load dll.

https://learn.microsoft.com/en-us/cpp/build/linking-an-executable-to-a-dll?view=msvc-170

may be you mean static link msvcr120.lib?
i am not windows guru, but you need msvcr120.lib (there is 2 
version of .lib - one small for use .dll and contain only 
reference to code in dll, other large, for static linking, 
contains all code).


to link mylib.lib you can use pragma(lib, "mylib.lib") in D code.



Re: Convert binary to UUID from LDAP

2023-03-27 Thread novice2 via Digitalmars-d-learn

On Monday, 27 March 2023 at 17:56:22 UTC, Alexander Zhirov wrote:
I get `objectGUID` data from LDAP as binary data. I need to 
convert `ubyte[]` data into a readable `UUID`. As far as I 
understand, it is possible to do this via `toHexString()`, but 
I have reached a dead end. Is there a way to make it more 
elegant, like [this 
technique](https://dlang.org/phobos/std_uuid.html#.UUID)?


```
ubyte[] => [159, 199, 22, 163, 13, 74, 145, 73, 158, 112, 7, 
192, 12, 193, 7, 194]

hex => 9FC716A30D4A91499E7007C00CC107C2
```


https://run.dlang.io/is/JP01aZ

```
void main(){
import std.stdio: writeln;
import std.format: format;
ubyte[] a = [159, 199, 22, 163, 13, 74, 145, 73, 158, 
112, 7, 192, 12, 193, 7, 194];

string b = format("%(%.2X%)",a);
writeln(b);
}
```


Re: compile x64 .dll and .so without dependencies

2023-03-05 Thread novice2 via Digitalmars-d-learn

On Sunday, 5 March 2023 at 18:35:58 UTC, Guillaume Piolat wrote:

"targetType": "dynamicLibrary",
"dflags-linux-dmd": ["-defaultlib=libphobos2.a"],
"dflags-osx-ldc": ["-static"],
"dflags-linux-ldc": ["-link-defaultlib-shared=false"],
"dflags-linux-x86_64-ldc": ["-fvisibility=hidden"],
"dflags-windows-ldc": 
["-mscrtlib=libcmt","-fvisibility=hidden", 
"-link-defaultlib-shared=false"],


Additionally on (Windows + DUB + LDC), you will need to set an 
envvar:

DFLAGS=-fvisibility=hidden -dllimport=none


Thank you!


compile x64 .dll and .so without dependencies

2023-03-04 Thread novice2 via Digitalmars-d-learn

It there any recipe to compile x64 .dll without dependencies?

I mean it shoud be used without installing things like 
msvcr120.dll.

Dependencies on system dll (advapi32.dll, kerner32.dll) is ok.

I don't experiment on linux yet. But interest too.


Re: Why does the importC example not compile?

2023-01-13 Thread novice2 via Digitalmars-d-learn

try to rename function to distinguish from source module


Re: dChar Error

2022-12-30 Thread novice2 via Digitalmars-d-learn

On Friday, 30 December 2022 at 04:43:48 UTC, Salih Dincer wrote:

  ...
  // example one:
  char[] str1 = "cur:€_".dup;
  ...
  // example two:
  dchar[] str2 = cast(dchar[])"cur:€_"d;
  ...
SDB@79


why you use .dup it example one, but not use in example two?

dchar[] str2 = cast(dchar[])"cur:€_"d.dup;


Re: [Win32 API] MessageBox Example without MSVCR120.dll dependency

2022-12-25 Thread novice2 via Digitalmars-d-learn

to avoid special compile command just add one code line:

pragma(lib, "user32.lib");



Re: Passing a string by reference

2022-11-08 Thread novice2 via Digitalmars-d-learn
On Tuesday, 8 November 2022 at 12:30:50 UTC, Alexander Zhirov 
wrote:

A c;


this declaration not creates class instance. you should use "new".

btw, struct have other behavoiur



Re: A look inside "filter" function defintion

2022-08-03 Thread novice2 via Digitalmars-d-learn

leyts try very rough simlified concept:

template itself - is compile-time program (parameterizable), it 
can generate some code for you.


template instantiation (like "calling") with "!" - instruct 
compiler to "start this compile-time program here with this 
parameters".





Re: Using regular expressions when reading a file

2022-05-06 Thread novice2 via Digitalmars-d-learn

imho, regexp is overkill here.
as for me, i usually just split line for first '=', then trim 
spaces left and right parts.


Re: How to update Associative Array?

2022-02-10 Thread novice2 via Digitalmars-d-learn
On Thursday, 10 February 2022 at 12:08:07 UTC, tastyminerals 
wrote:
I meant a different thing though. I am looking for 
`mydic.update(another_dic)` analogue where `{"a": 1, "b": 2}` 
update `{"c": 3, "a": -1}` becomes `{"a":-1, "b": 2, "c": 3}`.


you need "merge"?
https://forum.dlang.org/post/fhhuupczjnhehxplj...@forum.dlang.org



Re: Analyze debug condition in template

2021-10-27 Thread novice2 via Digitalmars-d-learn

On Wednesday, 27 October 2021 at 08:14:29 UTC, Kagamin wrote:
...
Then the logger can inspect symbols in the template argument 
and compare their names to the function name.



Aha, thank you, i will try!


Re: Analyze debug condition in template

2021-10-26 Thread novice2 via Digitalmars-d-learn
On Tuesday, 26 October 2021 at 15:53:54 UTC, Steven Schveighoffer 
wrote:

mixin("debug(" ~ func ~ ") doRealThing();");


Thank you, Steven.

Unfortunately, all variants with global "-debug" in command line 
is unhandy.

It leads to ugly, very big command line :(

Note that setting debug versions doesn't get seen in imported 
modules, only ones specified on the command line will be seen 
inside your logger.


This is the problem.

At the moment i failed to get "debug" condition from one module 
(caller) in other module (logger).
Variant with UDA failed too - i can't get UDA from one module 
(caller) in other module (logger).


Re: Analyze debug condition in template

2021-10-26 Thread novice2 via Digitalmars-d-learn

On Tuesday, 26 October 2021 at 09:44:42 UTC, Kagamin wrote:

`debug(func1)writefln(...)`
But specify a global debug version for the compiler:
`dmd -debug=func1 app.d`


i want to eliminate "debug(func1)"
i want to be able on/off debugging for one function or another,
and logf() template should "understand", those on/off for caller


Re: Analyze debug condition in template

2021-10-26 Thread novice2 via Digitalmars-d-learn

Thanks Kagamin!

One more way, i think,
mark function with UDA,
and then analize UDA in template.
But i have problem to implement this:

i have function name __FUNCTION__ in template as sting,
but __traits(getAttributes, __FUNCTION__) want symbol,
not string as second parameter :(


Re: Error when compile with DMD using -m64?

2021-08-09 Thread novice2 via Digitalmars-d-learn

On Monday, 9 August 2021 at 19:53:48 UTC, Marcone wrote:

program not run.


compilation errors?
runtime errors?


writef, compile-checked format, pointer

2021-08-09 Thread novice2 via Digitalmars-d-learn

format!"fmt"() and writef!"fmt"() templates
with compile-time checked format string
not accept %X for pointers,

but format() and writef() accept it

https://run.dlang.io/is/aQ05Ux
```
void main() {
import std.stdio: writefln;
int x;
writefln("%X", );  //ok
writefln!"%s"();  //ok
//writefln!"%X"();  //compile error
}
```

is this intentional?


Re: Creating std.format.format warpper

2021-05-01 Thread novice2 via Digitalmars-d-learn

On Saturday, 1 May 2021 at 16:21:33 UTC, Anonymouse wrote:

https://run.dlang.io/is/QsYCkq
http://ddili.org/ders/d.en/templates.html).


thanks for your time!


Creating std.format.format warpper

2021-05-01 Thread novice2 via Digitalmars-d-learn

Hello.

Can please anybody help me create template format2 like 
std.format.format,

so it can access to format string (change it for example)
then instantiate std.format.format template in 
compile-time-checkable way

format!"%d %s"(arg1, arg2)
so compiler can check format string vs arguments count at least.

i.e. if i would write
format2!"%d %s"(arg1)
i should give comile time error

and next difficulties, i want format2 have extra parameter (say 
"prefix"), not passed to std.format.format


for example, format2 should prepent prefix to format string then 
instantiate std.format.format


any advices
thanks


Re: nothrow and std.exception.ifThrown

2021-05-01 Thread novice2 via Digitalmars-d-learn

btw for my immediate needs i replace second delegate with value
i.e. remove "lazy" from declaration and remove "()" in return

so ifThrown loose some generity

```d
nothrow
CommonType!(T1, T2) ifThrown(E : Throwable = Exception, T1, T2)
(lazy scope T1 expression, scope T2 
expression2)

...
try
return expression();
catch (E)
return expression2;
```



Re: nothrow and std.exception.ifThrown

2021-04-29 Thread novice2 via Digitalmars-d-learn

Thank you Imperatron, Ali
both variants
```d
  scope(failure) assert(0);
```
```d
  collectException
```
works!

Thank Meta
The reason for this, apparently, is in the definition of 
`ifThrown`


i tried to modify ifThrown adding nothrow,
but compiler dont understand, that second parameter cant throw,
it just expression.

i dont understand why (templates too dificult for me yet),
but if i comment "lazy" from T2,
then compiler allow add "nothrow" to "ifThrown"

```d
CommonType!(T1, T2) ifThrown(E : Throwable = Exception, T1, 
T2)(lazy scope T1 expression, /*lazy*/ scope T2 errorHandler) 
nothrow

```
https://run.dlang.io/is/KTdd3G


nothrow and std.exception.ifThrown

2021-04-29 Thread novice2 via Digitalmars-d-learn

Hello.
I need use std.format.format() in nothrow function.
format() can throw.
For this case i have special default string.
I don't want embrace format into try..catch block,
and i found elegant std.exception.ifThrown.
But DMD say "ifThrown not nothrow"

https://run.dlang.io/is/kXtt5q
```d
nothrow string foo(int x, string def) {
import std.format: format;
import std.exception: ifThrown;

return format("%d", x).ifThrown(def);
}

Error: function std.exception.ifThrown!(Exception, string, 
string).ifThrown is not nothrow

```

What i can use instead of ifThrown, or how it can be changed to 
nothrow?

Thanks.


Re: Is this bug ? format %(%)

2021-04-07 Thread novice2 via Digitalmars-d-learn

On Wednesday, 7 April 2021 at 13:43:18 UTC, Paul Backus wrote:

So, you should change your code to

writefln("%-(%s, %)", s);


sorry i dont read docs so carefully
thanks


Re: Derived type

2021-04-01 Thread novice2 via Digitalmars-d-learn

thanks, i tried 2 variants:
```d
struct Tnew {TBase payload; alias payload this;}
```
```d
enum Tnew : Tbase {init = Tbase.init}
```

both works, but 1-st not allow "2 level" cast:
```d
struct Xptr {void* payload; alias payload this;} //Xptr based on 
void*
struct Xobj {Xptr payload; alias payload this;}  //Xobj based on  
Xptr

Xptr xptr = cast(Xptr) null; //OK
Xobj xobj = cast(Xobj) null; //ERROR
Xobj xobj = cast(Xobj) cast(Xptr) null;  //OK, needs both levels 
explitity

```
```d
enum Xptr : void* {init = (void*).init} //Xptr based on void*
enum Xobj : Xptr {init = Xptr.init} //Xobj based on  Xptr
Xptr xptr = cast(Xptr) null;//OK
Xobj xobj = cast(Xobj) null;//OK
```

so "enum" variant is better for me, thanks!


Re: Derived type

2021-03-30 Thread novice2 via Digitalmars-d-learn

My tries to make template for struct and alias this:

// variant 1
template Typedef(alias Tnew, Tbase)
{
  struct Tnew
  {
Tbase payload;
alias payload this;
  }
}

Typedef!(Xobj, void*);

void foo (Xobj obj) {}  //compiler Error: no identifier for 
declarator Typedef!(Xobj, void*)



// variant 2
mixin template Typedef(alias Tnew, Tbase)
{
  struct Tnew
  {
Tbase payload;
alias payload this;
  }
}

mixin Typedef!(Xobj, void*);  //compiler Error: undefined 
identifier Xobj





Re: Derived type

2021-03-30 Thread novice2 via Digitalmars-d-learn

On Tuesday, 30 March 2021 at 19:12:29 UTC, Ali Çehreli wrote:
"Derived type" is used in the context of object oriented 
programming at least in D


Sorry, i use wrong termin.
I just want create new type Tnew, based on exist type Tbase.
Tnew have same allowed values, same properties, same allowed 
operations as Tbase.

Compiler should distinguish New from Tbase.
Allowed implicit cast Tnew to Tbase.
Prohibited implicit cast Tbase to Tnew.
Allowed exlicit cast Tbase to Tnew.


but your examples indicate you need something else. How about 
the 'alias this' feature?


Thanks, this is what i want.
I just think that Typedef do it for me, hide this boilerplait 
code.




Re: Derived type

2021-03-30 Thread novice2 via Digitalmars-d-learn

On Tuesday, 30 March 2021 at 14:45:12 UTC, WebFreak001 wrote:
Xobj can then be used interchangeably with void*, so all void* 
arguments accept Xobj and all Xobj arguments accept void*.


yes, i understand alias, and i dont want such behaviour


If you want a type-safe alias that makes all void* arguments 
accept Xobj but not Xobj arguments to accept void*


yes, this is that i search



you can use `Typedef` like you linked.


Problem with Typedef template - code
  alias Xobj = Typedef!(void*)
not generate type named "Xobj",
but type named "Typedef!(void*, null, null)".
This makes compiler error messages unusable.



enum Xobj : void*;
```
This allows explicit conversion in both ways using cast, but 
only allows implicit conversion from Xobj to void*, not from 
void* to Xobj:


Strange syntax.
Behavour exactly what i want, but this code not works for me :(

  enum Xobj : void*;
  Xobj var;  //DMD Error: enum test7.Xobj forward reference of 
Xobj.init




Re: Derived type

2021-03-30 Thread novice2 via Digitalmars-d-learn

On Tuesday, 30 March 2021 at 13:43:52 UTC, Mike Parker wrote:

the straightforward way is just to use an alias.


i cant use alias - compiler cannot distinguish base type and 
alias, and cannot catch programmer errors


Buf if you need a more concrete type, you can use alias this in 
a struct:

I think Typedef template should do this struct for me.

Thanks Mike, this way is what i wanted

  struct Xobj {
private void* payload;
alias payload this;
  }

  Xobj good;
  foo(good);//nice
  foo(cast(Xobj)null);  //explicit cast allowed - nice
  foo(null);//no implicit cast disallowed - compiler 
error - nice


  void* bad;
  foo(bad); //compiler distinguish type - error - nice


I think Typedef template should do this struct for me.

Problem with Typedef template - code
  alias Xobj = Typedef!(void*)
not generate struct named "Xobj",
but struct named "Typedef!(void*, null, null)".
This makes compiler error messages unusable.

I will try to make template for struct. But template is black 
magic for me :)


Re: Since DMD 2.089.0 and later, compiled .exe showing SFX zip and opening with winRar when use resource.

2020-08-30 Thread novice2 via Digitalmars-d-learn

5. Open WinRAR support issue
6. Upload your .exe and say WinRar version then other peoples can 
reproduce


Re: Since DMD 2.089.0 and later, compiled .exe showing SFX zip and opening with winRar when use resource.

2020-08-30 Thread novice2 via Digitalmars-d-learn

Dear Marcone, that you want we all to do?
Rar detect sfx by small signature, and some bytes in exe looks 
like signature.

But this is not the problem - just do not open your exe with rar.
Or i just don't understand...

Another options:
1. try to compile with anoter .res or/and  another .ico (if magic 
bytes in .res)

2. wait next dmd version (if magic bytes in dmd runtime)
3. try gdc or ldc from https://dlang.org/download.html (if magic 
bytes in dmd runtime)

4 try to pack yor exe with free packer like https://upx.github.io/


Re: RtlAdjustPrivilege and NtRaiseHardError

2020-05-24 Thread novice2 via Digitalmars-d-learn
"doesn't work" isn't very helpful. Are you seeing compiler 
errors? Linker errors? Runtime errors? Please describe your 
problem.


Solved my problem alone : wrong signatures with functions ;)


and this reply isn't very helpful.
what is right signature?
you go to forum to ask help.
but wish you help to other readers, those will have the ame 
problems?


Re: Working with cmd

2020-04-18 Thread novice2 via Digitalmars-d-learn

On Friday, 17 April 2020 at 21:38:23 UTC, Quantium wrote:

Are there any libs which can be used to access cmd commands?


std.process

https://dlang.org/phobos/std_process.html#.execute



Re: How to converte string to wstring[]?

2020-02-06 Thread novice2 via Digitalmars-d-learn

import std.conv: to;

string str = "test1";
wstring[] wstr = [to!wstring(str)];


Re: What is wrong with this function that I can not get resource content?

2020-02-05 Thread novice2 via Digitalmars-d-learn

On Wednesday, 5 February 2020 at 20:01:19 UTC, Marcone wrote:

Sorry! Solved. Just need add # in this line:

get_resource("#300", "BMP", "melancia.bmp");


the mistake, very imho, is not check windows API functions 
results.

you can use wenforce:
https://dlang.org/phobos/std_windows_syserror.html#.wenforce


Re: foreach loop

2015-10-19 Thread novice2 via Digitalmars-d-learn

On Monday, 19 October 2015 at 15:56:00 UTC, Namal wrote:

Is it possible to use foreach backwards?



yes
http://dlang.org/statement.html#ForeachStatement
http://dpaste.dzfl.pl/cf847a9e1595


Re: Why does File.byLine() return char[] and not string

2015-10-18 Thread novice2 via Digitalmars-d-learn

what buffer you are talking.


internal buffer. where result line resides.



And what is "signal"? How it's working?


just the fact for programmer, that result line can be changed by 
other code (by phobos library code in this case).


no any special programming "signal".



Re: dis...@dlang.org

2015-09-23 Thread novice2 via Digitalmars-d-learn

http://forum.dlang.org/thread/hrzfcjrltftgzansd...@forum.dlang.org
https://github.com/Trass3r/hooksample


Re: Regex-Fu

2015-05-25 Thread novice2 via Digitalmars-d-learn

I cannot get the longest possible

it match longest for first group ([a-z]+)

try

^([a-z]+?)(hula|ula)$



Re: getopt helpWanted

2015-04-30 Thread novice2 via Digitalmars-d-learn

Thank you, Brian!


getopt helpWanted

2015-04-29 Thread novice2 via Digitalmars-d-learn

Hello.

Help me please to understand, how to show usage help to user, who 
enter wrong options?

For example, user not provided required filename.
I want to show error message, and program usage help text.
But likely getopt don't provide help text until valid options 
will be parsed.


Reduced code:
///
import std.stdio: writefln;
import std.getopt;

void main (string[] args)
{
  string fname;
  GetoptResult helpInfo;

  try
  {
helpInfo = getopt(
  args,
  std.getopt.config.required, file|f, File name, fname);

writefln(Options parsed: fname=%s, fname);
  }
  catch(Exception e)
  {
writefln(\nERROR: %s, e.msg);
defaultGetoptPrinter(Program usage:, helpInfo.options);
  }
}
///

Output:
ERROR: Required option file|fwas not supplied
Program usage:


Re: ErrnoException in Windows

2015-03-01 Thread novice2 via Digitalmars-d-learn

Thans guys!

wenforce not sutable - error code is lost.
may be, i will use modified wenforce, wich throws ErrnoException.


Re: ErrnoException in Windows

2015-03-01 Thread novice2 via Digitalmars-d-learn

Ha, i found
std.windows.syserror: WindowsException, wenforce;


ErrnoException in Windows

2015-03-01 Thread novice2 via Digitalmars-d-learn

Could you, please, help me to understand, why code:


import std.c.windows.windows;
import std.exception: ErrnoException;
import std.stdio: writefln;
import std.string: toStringz;

void main ()
{
  CreateFileA(toStringz(nonexisting file name), GENERIC_READ, 
FILE_SHARE_READ, null, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 
null);

  auto ex = new ErrnoException(CreateFileA);
  writefln(ex.errno=%d, ex.msg=%s, lasterror=%d, ex.errno, 
ex.msg, GetLastError());

}


prints:
ex.errno=0, ex.msg=CreateFileA (No error), lasterror=2

I wanted it will be:
ex.errno=2, ex.msg=CreateFileA (File not found), lasterror=2


one problem at dlang.org site

2015-02-23 Thread novice2 via Digitalmars-d-learn

sorry - i cant find where i can post this.
bugtracker have no dlang.org product.

when i click to left menu Standart Library - std - windows - 
charset
then i have error The requested URL 
/phobos/std_windows_charset.html was not found on this server.


Re: string concatenation with %s

2015-01-07 Thread novice2 via Digitalmars-d-learn

what if a_college[i] will contain ` char?
almost SQL have prepare statement...


Re: Scoped external function declaration

2015-01-02 Thread novice2 via Digitalmars-d-learn

Thanx Daniel, thanx Ketmar.

I just thinked that this is some sort of bug.
May be DMD should not change mangled name of external function...
Bit i dont know.


Re: Templates for structures

2014-11-04 Thread novice2 via Digitalmars-d-learn

On Monday, 3 November 2014 at 14:53:29 UTC, Ali Çehreli wrote:
It sounds possible but I don't understand it yet. Can you give 
an example of the input and output to the D code?


Ali


Thank you Ali.
I realized, that my wishes look like serialization.
So i decide read and learn code from existent serialization 
libraries.


Templates for structures

2014-11-02 Thread novice2 via Digitalmars-d-learn

Hello.

I need write some wrapper around legacy data structure.
May be it should be class. May be structure with methods.
The problem is writing repetitive code for underlying data.
For example:
 - code to read length-byte-prefixed string to D string for every 
field in every structure;

 - code to write D string back to length-byte-prefixed string;

Is it possible to write some template or mixin, and then just 
write

myStruct.addFiled(type=ByteLengthString, name=name)
myStruct.addFiled(type=ShortLengthString, name=filed2)
myStruct.addFiled(type=WeirdStoredInteger, name=counter)

May be it can be done with template, mixin, UDA, ...?

May be something already realized, and i can see sources as 
example?


Any ideas or examples please.
Just show direction for me )

Thanx.


Is this RDMD bug ?

2014-08-23 Thread novice2 via Digitalmars-d-learn
I have 2 reduced files, wich i can't compile with new (DMD 2.066) 
rdmd.exe under Windows 7 32-bit.


Command: rdmd --force --build-only aaa.d
Message Error 42: Symbol Undefined _D3etc3bbb3fooFZi

But command: dmd aaa.d etc\bbb.d
Compile without errors.
And then i replace rdmd.exe by old (from DMD 2.065) compile OK 
too.


Can anybody reproduce this?


/*** begin of file aaa.d ***/
import etc.bbb;

void main()
{
  int i = foo();
}
/***/


/*** begin of file etc\bbb.d ***/
module etc.bbb;

public int foo()
{
  return 1;
}
/***/


Re: Is this RDMD bug ?

2014-08-23 Thread novice2 via Digitalmars-d-learn
On Saturday, 23 August 2014 at 17:32:15 UTC, Vladimir Panteleev 
wrote:

etc is a standard D package name reserved for Phobos, the


Thanks for explanation.
I not be able to undertsand the cause - weird error message.
Now i can easy fix my code.

BTW, did rdmd determine user code or standard library by sorce 
file pathes?

Or it those names must be hardcoded?