AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Externes Programm Teil 2

Ein Thema von Willie1 · begonnen am 19. Jan 2018 · letzter Beitrag vom 5. Feb 2018
Antwort Antwort
Seite 4 von 5   « Erste     234 5      
Willie1

Registriert seit: 28. Mai 2008
655 Beiträge
 
Delphi 10.1 Berlin Starter
 
#31

AW: Externes Programm Teil 2

  Alt 29. Jan 2018, 17:31
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
  Mit Zitat antworten Zitat
Benutzerbild von Gollum
Gollum

Registriert seit: 14. Jan 2003
Ort: Boxberg
456 Beiträge
 
Delphi 10.1 Berlin Professional
 
#32

AW: Externes Programm Teil 2

  Alt 29. Jan 2018, 17:38
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;
  Mit Zitat antworten Zitat
Willie1

Registriert seit: 28. Mai 2008
655 Beiträge
 
Delphi 10.1 Berlin Starter
 
#33

AW: Externes Programm Teil 2

  Alt 29. Jan 2018, 18:17
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.
  Mit Zitat antworten Zitat
Fukiszo
(Gast)

n/a Beiträge
 
#34

AW: Externes Programm Teil 2

  Alt 29. Jan 2018, 18:20
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
  Mit Zitat antworten Zitat
Benutzerbild von Gollum
Gollum

Registriert seit: 14. Jan 2003
Ort: Boxberg
456 Beiträge
 
Delphi 10.1 Berlin Professional
 
#35

AW: Externes Programm Teil 2

  Alt 30. Jan 2018, 15:30
Hallo Willie,

eigentlich sollte mein Beispiel funktionieren.

Ich habe dir die Routinen als Unit angehängt.
Angehängte Dateien
Dateityp: pas Unit1.pas (920 Bytes, 8x aufgerufen)

Geändert von Gollum (30. Jan 2018 um 15:58 Uhr)
  Mit Zitat antworten Zitat
Willie1

Registriert seit: 28. Mai 2008
655 Beiträge
 
Delphi 10.1 Berlin Starter
 
#36

AW: Externes Programm Teil 2

  Alt 1. Feb 2018, 16:32
Hallo Gollum,

ich verstehe, wie es geht aber selbst wäre ich nicht darauf gekommen!
Willie.
  Mit Zitat antworten Zitat
Benutzerbild von Gollum
Gollum

Registriert seit: 14. Jan 2003
Ort: Boxberg
456 Beiträge
 
Delphi 10.1 Berlin Professional
 
#37

AW: Externes Programm Teil 2

  Alt 1. Feb 2018, 17:18
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.
  Mit Zitat antworten Zitat
Willie1

Registriert seit: 28. Mai 2008
655 Beiträge
 
Delphi 10.1 Berlin Starter
 
#38

AW: Externes Programm Teil 2

  Alt 2. Feb 2018, 12:04
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.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.052 Beiträge
 
Delphi 12 Athens
 
#39

AW: Externes Programm Teil 2

  Alt 2. Feb 2018, 12:50
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
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.052 Beiträge
 
Delphi 12 Athens
 
#40

AW: Externes Programm Teil 2

  Alt 2. Feb 2018, 12:54
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.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 4 von 5   « Erste     234 5      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:20 Uhr.
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