Hallo,
Habe folgendes Problem:
Ich will bei meiner EXE Datei ParamStr(0) ein Byte auslesen und wenn
das Byte 01 ist stattessen einen FilePath in einen String setzen.
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19:
| var Buffer2: Array[0..MAX_PATH+1] of Char; fsTo: TFileStream; ExtPath : integer; Buffer : string;
begin fsTo := TFileStream.create(ParamStr(0), fmOpenRead or fmShareDenyWrite); fsTo.Seek(176, soFromBeginning); // Server-EXE überspringen fsTo.Read(ExtPath, 1); fsTo.Free; If (ExtPath = $00) then exit; If (ExtPath = $01) then Buffer := InttoStr(GetTempPath(MAX_PATH+1,Buffer2)); If (ExtPath = $02) then Buffer := IntToStr(GetSystemDirectory(Buffer2, MAX_PATH+1)); If (ExtPath = $03) then Buffer := ExtractFilePath(ParamStr(0)); If (ExtPath = $04) then Buffer := IntToStr(GetWindowsDirectory(Buffer2, MAX_PATH+1)); Buffer := IncludeTrailingPathDelimiter(Buffer); // '\' anhängen |
Wie kann ich das da richtig Übernehmen da wenn ich Showmessage probiere kommen
statt 01, 02 ,... nur wirre Zahlen?
Er versteht ExtPath nicht richtig.