[ yokid @ 14.09.2005. 11:26 ] @
Ako imam: const MAX_PATH_SIZE = 1024; var szSourcePath : Array[0..MAX_PATH_SIZE+1] of Char; ... Kako da dodam vrednosti u szSourcePath? Na primer: 'MorProgram v1.0 program.exe ' |
[ yokid @ 14.09.2005. 11:26 ] @
[ bondja @ 14.09.2005. 12:06 ] @
const MAX_PATH_SIZE = 1024;
var szSourcePath : Array[0..MAX_PATH_SIZE+1] of Char; procedure TForm1.Button1Click(Sender: TObject); var s: string; i: integer; aSTr: string; begin s := 'MorProgram v1.0 program.exe '; for i:=1 to Length(s) do begin if i < MAX_PATH_SIZE then szSourcePath[i-1] := s; end; // provera! aStr := ''; for i:=Low(szSourcePath) to High( szSourcePath) do aStr := aStr + szSourcePath; self.caption := aStr; end; poz! [ Srki_82 @ 14.09.2005. 12:15 ] @
Ako ti to treba za razne API funkcije koje uzimaju pointer na array of char onda ce ti ovo biti elegantnije resenje:
Code: function GetWinDir: String; begin SetLength(Result, MAX_PATH); SetLength(Result, GetWindowsDirectory(PChar(Result), MAX_PATH)); end; Meni je ovo nekako normalnije resenje. Kad vec imas String tip koji se ponasa kao pointer na array of char zasto to onda ne iskoristiti!? [ yokid @ 14.09.2005. 12:45 ] @
Hvala Bondja, hvala Srki_82.
[ yokid @ 14.09.2005. 13:02 ] @
Bondja, ipak postoji problem.
Incompatible types: 'Char' and 'String' na: szSourcePath[i-1] := s; [ Srki_82 @ 14.09.2005. 13:08 ] @
Verovatno je mislio s[ i ]
[Ovu poruku je menjao Srki_82 dana 14.09.2005. u 14:10 GMT+1] [ engineer @ 15.09.2005. 09:06 ] @
Koristi StrCopy funkciju:
Code: StrCopy(szSourcePath, 'MorProgram v1.0 program.exe'); Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.
|