Simpatie.ro - matrimoniale
lisp2arx
Visual Programming for AutoLisp Mathématiques en programmation Lisp.. doc2cpp,doc2lsp, sld2lsp, bmp2dcl, free__GifCcapture for all-CAD'platforms..
Nou pe simpatie:
sayler_moon_19
Femeie
25 ani
Bacau
cauta Barbat
26 - 46 ani
lisp2arxReguliInregistrareLoginPozeNu sunteti logat. Lista Forumurilor Pe Tematici
lisp2arx / Delphi , InnoPascal /

Delphi32 - Hidden zero to String for 100%sure

Pagini: 1  
#1
admin
Administrator
Din: Bucharest
Postari: 523
When, You convert cString to Pchar , the old-routines (Delphi7,Delphi3)
fail skip the last zero pchar(String);?>
//Fix1=You search  ??? to test RTFail
//Fix2=You replace pchar(...) with  str_2pchar(...)

Code:

Const con_zero3=#00#00#00;
Var romania:string='';;
Function str_pas2(arrayeditstate:pchar;limcheck:integer):string;
Var nth:integer;
Begin
    result:='';
    if (arrayeditstate=nil) or (arrayeditstate^=#0) then exit;
    if (limcheck<1) then limcheck:=strlen(arrayeditstate);
    SetString(result,arrayeditstate,limcheck);
    result:=concat(result,#0#0#0);
    SetLength(result,limcheck);
End;

Function str_2pchar255(var s133: shortstring; RtlZeroMemory: shortint): pchar;
Var
  dimexe:integer;
Begin { ..$VARSTRINGCHECKS OFF }
  dimexe := length(s133);
  if (dimexe < 1) then
  begin
    s133 := concat(s133, '123');
    s133[3] := #0;
    s133[2] := #0;
    s133[1] := #0;
    Result := @s133[1];
    exit;
  end;
  dimcen := length(s133);
  s133 := concat(s133, con_zero3);
  setlength(s133, dimexe);
  Result := @s133[1];
  { ..$VARSTRINGCHECKS ON }
End;

Code:

Function str_2pchar(var s133: string): pchar;
Var
  dimexe:integer;
Begin { ..$VARSTRINGCHECKS OFF }
  dimexe := length(s133);
  if (dimexe < 1) then
  begin
    s133 := concat(s133, '123');
    s133[3] := #0;
    s133[2] := #0;
    s133[1] := #0;
    Result := @s133[1];
    exit;
  end;
  dimcen := length(s133);
  s133 := concat(s133, con_zero3);
  setlength(s133, dimexe);
  if (length(s133)>dimexe) then 
     romania:='You failed resize , ??? you must set breakPoint here';l
  Result := @s133[1];
  { ..$VARSTRINGCHECKS ON }
End;



Delphi32 - Hidden zero to String for 100%sure - When, You convert cString to Pchar - Delphi , InnoPascal
Delphi32 - Hidden zero to String for 100%sure – poza de admin, in Delphi , InnoPascal · 25KB


_______________________________________
http://www.puiubrat.3x.ro/lisp2arx/lisp ... O2UTM2.pdf

 
   

Topicuri similare

Pagini: 1  
Mergi la