Delphi-PRAXiS
Seite 4 von 5   « Erste     234 5      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Externes Programm Teil 2 (https://www.delphipraxis.net/194921-externes-programm-teil-2-a.html)

Willie1 29. Jan 2018 16:31

AW: Externes Programm Teil 2
 
Hallo,
ich bin nur Hobby-Programmierer, da fehlen mir manchmal die Grundlagen. Ich erkenne, das der String offensichtlich 2 Bytes pro Zeichen groß ist AnsiString nur 1 Byte. Diese Erkenntnis bringt mich nicht weiter. Ich muss mein Programm von Anfang an über arbeiten, flicken geht nicht. Ich werde deine Ratschläge mit ein beziehen.

Ich gehe mir schon selbst auf due Nerven aber ich habe das Programm gestern Abend auf meinem neuen Laptop mit Windows 10 vor dem großen Update laufen lassen, alles in Ordnung. Das gibt Frust!!!

Frage an Fukiszo: Läuft Delphi 7 unter Windows 10? Ich hatte meinem Neffen Delhi 7 PE (Buch mit CD) geschenkt, er sagt, es läuft mit W10 nicht.


Eine gute Woche für euch alle
Willie

Gollum 29. Jan 2018 16:38

AW: Externes Programm Teil 2
 
Hallo Willie,

wenn Du mit Strings statt AnsiStrings arbeitest, musst Du Deine Speicher- und Leseroutine ändern:
Delphi-Quellcode:
var
  aText:String;
  aLen :Integer;
begin
  if SDialog.Execute then begin
  // aText:=Verschluesseln1(Memo1.Lines.Text,true,true); //Zeile A
    aText:=Memo1.Lines.Text; //Zeile B
    aLen:=Length(aText);
    FS:=TFilestream.Create(SDialog.FileName,fmCreate);
    FS.Write(aLen, SizeOf(Integer));
    FS.Write(Pointer(aText)^, aLen*SizeOf(Char));
    FS.Free;
  end;
end;
Und nun, die umgekehrte Richtung:
Delphi-Quellcode:
var
  aText:String;
  aLen :Integer;
begin
  FS:=TFilestream.Create(SDialog.FileName, fmOpenRead);
  aLen:=FS.Read(aLen, SizeOf(Integer));
  SetLength(aText, aLen);
  FS.Read(Pointer(aText)^, aLen*SizeOf(Char));
  FS.Close();
end;

Willie1 29. Jan 2018 17:17

AW: Externes Programm Teil 2
 
Hallo Gollum,
ich glaube, das ist fast die Lösung.
Mein Testbeispiel: '1234567890'
Schreiben geht in Ordnung. erst 4 Bytes für die Länge xA,0,0,0, dann 2 Bytes pro Zeichen.
Lesen noch nicht, aLen=4 Es steht '1234' da.

Willie.

Fukiszo 29. Jan 2018 17:20

AW: Externes Programm Teil 2
 
Delphi 7 Professional (32bit) schnurrt unter Windows 10 64bit, Delphi 7 Personal Edition kenn ich leider nicht.
Gollum's tipp ist sehr gut, damit sollt es auch ohne Base64 umweg klappen.

Grüße

Gollum 30. Jan 2018 14:30

AW: Externes Programm Teil 2
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo Willie,

eigentlich sollte mein Beispiel funktionieren.

Ich habe dir die Routinen als Unit angehängt.

Willie1 1. Feb 2018 15:32

AW: Externes Programm Teil 2
 
Hallo Gollum,

ich verstehe, wie es geht aber selbst wäre ich nicht darauf gekommen!
Willie.

Gollum 1. Feb 2018 16:18

AW: Externes Programm Teil 2
 
Hallo Willie,

ich habe es auch nicht selber erfunden.
Das Beispiel ist sogar aus der Delphi-Hilfe bzgl. Unicode-Umstellung.

Wichtig ist, dass Dir geholfen wurde.

Willie1 2. Feb 2018 11:04

AW: Externes Programm Teil 2
 
Hallo!
Ausgangspunkt für mein Problem war, dass 7-zip32.dll nicht mehr funktioniert. Ich habe eine Lizenz für Winrar und da gibt das Programm Rar.exe. Ein Konsolen-Programm zum Packen und Entpacken, genau was ich brauche.. Ich sehe, es ist hier im Forum schon Thema gewesen und ich werde mal stöbern, um 7-zip durch rar zu ersetzen.

Gruß Willie.

himitsu 2. Feb 2018 11:50

AW: Externes Programm Teil 2
 
Zitat:

Zitat von Willie1 (Beitrag 1392440)
Frage an Fukiszo: Läuft Delphi 7 unter Windows 10? Ich hatte meinem Neffen Delhi 7 PE (Buch mit CD) geschenkt, er sagt, es läuft mit W10 nicht.

http://www.delphipraxis.net/184041-d...0-preview.html
https://www.entwickler-ecke.de/topic...n_89408,0.html

himitsu 2. Feb 2018 11:54

AW: Externes Programm Teil 2
 
Zitat:

Zitat von Gollum (Beitrag 1392570)
Ich habe dir die Routinen als Unit angehängt.

Das Problem ist hier, dass sich dein Code zwar an den Compiler anpasst, aber genau das ist das Problem, denn du hast im Stream keine Informationen darüber gepsiechert welches Format dieser Text hat.

Entweder sollten sich Daten die das Programm im Format nicht einfach so verändern, oder es sollte darin enthalten sein welches Format das ist und das auslesende Programm muß dann auch alle Formate kennen und und den Text dann in sein Format notfalls umwandeln können.


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:41 Uhr.
Seite 4 von 5   « Erste     234 5      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz