Einzelnen Beitrag anzeigen

Benutzerbild von Capstone
Capstone

Registriert seit: 15. Jul 2013
Ort: NRW
23 Beiträge
 
Delphi 3 Professional
 
#7

AW: Base64/ Mime für Dateien

  Alt 15. Sep 2017, 21:01
ich grüße Euch,
und ich Danke Euch für Eure Vorschläge.

mhh, ich schäme mich ja fast, nochmal fragen zu müssen, weil ich immer noch nicht klarkomme.
Ich probier nun schon den ganzen Abend mit verschiedenen Verzeichnissen, Orten , und Tricks, die INDYs installiert zu bekommen, bzw, wenigstens die Units nutzen zu können.

Also:

Indy 9 + 10 hab ich runtergeladen, aber erstmal nur die 9er-ZIP entpackt und die Full5.bat ausgeührt (wegen vermutl. besserer Kompatibilität)
Da wurden anscheinend alle klaglos compiliert. (alle dcu's wurden in C:\INDY\D5 erstellt)
Dann hab ich, wie in der ManualInstall.txt beschrieben
»dclIndy50.bpl« als Komponente bzw. dann auch als Package zu installieren, welche demnach in C:\INDY\d5 sein sollte, aber sich nur in C:\INDY\Source\ befindet.


Zitat:
»To install Indy manually, please do the following:

1. Run the appropriate batch file for your Borland Product.
Delphi 5.0 - c:\Indy\Source\Fulld5.bat
2. In your Integrated Development Evnornment, install the DclIndy*.bpl which is located in the appropriate directory. Those are:
Delphi 5.0 - c:\Indy\d5
3. Add the appropriate directory from the ones listed above to your library path. To do this, click Tools|Environment Options...|Library. Just add the directory in Library path to end of the path preceded by a ";" such as:
;c:\Indy\d5 «
http://www.delphipraxis.net/attachme...1&d=1505503858

Dennoch erhalte ich folgende Fehlermeldung:
"<IDname> ist kein gültiger Bezeichner.

Zitat:
Bezeichner ist lexikalisch ungültig. Achten Sie darauf, daß das erste Zeichen ein Buchstabe oder ein Unterstrich (_) ist. Die folgenden Zeichen können Buchstaben, Ziffern oder Unterstrich-Zeichen sein. Es dürfen sich keine Leerzeichen innerhalb des Strings befinden."
(Quelle: Delphi hlp)

http://www.delphipraxis.net/attachme...1&d=1505503914

Ich hab zwar dann unter Projektoptionen die Pfade zu den Units in das Feld für die Suchpfade eingetragen und zumindest nach implementation die beiden Units eingetragen (uses IdMessageCoder, IdMessageCoderMIME
Da meckert er wenigstens auch nichts dran.
Aber außer, daß ich die Klasse TIdMessageCoderMIME (statt des idCodec64.Encode()) eintippen kann, läßt sich außer .create nicht viel damit machen. Encode ist nicht zu finden.

idCodec64 wird gar nicht angeboten, wenn ich die Kontextergänzung CTRL+Shift + Leer nehme.
Also hatte ich versucht die Procedur TIdMessageCoderMIME zu verwenden. Auch nix.

Da ist also kein Weiterkommen, oder?
Mhh, jetzt ist das ja für Euch mit 90% Delphi 10 auch schwer, da irgendwas zu diagnostizieren, was da einer mit seinem alten Delphi5 macht. Zudem sitz ich ja noch so weit weg. (oder gibt es im Raum Essen irgendwo Delphi Leute?)

------

Dann habe ich allerdings auch heute Nachmittag schon probiert, ob ich die Lösung von Redeemer umsetzen könnte.
Doch war ich daran auch gescheitert.

Delphi-Quellcode:
procedure TForm1.Button5Click(Sender: TObject);
var fin, fon : TMemoryStream;
FN : String;
err: Boolean;
begin
   FN := 'C:\Users\Documents\DELPHI\b64\neu.txt';
  fin :=TMemoryStream.Create(FN,fmOpenRead); // hier wären die Argumente zu viel/unpassend

  fon :=TMemoryStream.Create(FN + '2',fmOpenWrite);

err := Base64EncodeStream (fin, Fon);
if Err then Caption := 'FEHLER';

fin.free;
son.free;

end;
Dann hab ich das hier
Delphi-Quellcode:
procedure TForm1.Button5Click(Sender: TObject);
var fin, fon : TMemoryStream;
fiS, foS : TFileStream;
FN : String;
err: Boolean;
begin
   FN := 'C:\Users\Documents\DELPHI\b64\neu.txt';

   Fis := TFileStream.Create(FN,fmOpenRead);
   FOS := TFileStream.Create(FN + 2,fmOpenRead);

// fin := Fis; //TMemoryStream.Create(FN,fmOpenRead); // FAIL
// fin.assign(Fis); // FAIL

  fon := TMemoryStream.Create(FN + '2',fmOpenWrite); // FAIL


err := Base64EncodeStream (fiS, FoS);

if Err then Caption := 'FEHLER';

fin.free;
son.free;

end;
versucht.
Aber das geht ja auch nicht.

Wie gesagt mit Streams kenn ich mich nicht so aus.
Ich hab zwar ein kurzes Buch, das behandelt Streams aber nur so am Rande. Eher Klick, Klick, Edit = fertig ist das Programm.
Wüßte auch nicht, wo man sowas - und dann noch auf dieses Problem spezialisiert, gut lernen/lesen könnte.

Also was ich bräuchte wären Datei->b64-Datei und Datei->b64-String Funktionen.

Was mach ich denn falsch?
Miniaturansicht angehängter Grafiken
2017-09-15_212140-.png   2017-09-15_211426.png  
MySQL-ERROR(): 1146
- - - Entschuldigung,
Diese Signatur ist in Deinem Land nicht vollständig sichtbar. :/
PGP Key ID: 0xB54AACD6

Geändert von Capstone (15. Sep 2017 um 21:07 Uhr)
  Mit Zitat antworten Zitat