Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Variable an Unit von Komponente übergeben? (https://www.delphipraxis.net/100932-variable-unit-von-komponente-uebergeben.html)

Tommy1988 5. Okt 2007 19:43

Re: Variable an Unit von Komponente übergeben?
 
1. Neu kompiliert.

Dann habe ich im typebereich bei Copyright noch Exename hinzugefügt (String)
und unten "Signature.ExeName := FCustomExt;" eingefügt. Jetzt klappt es.
Aber nicht mehr so wie ich das mit dem "Copy" hatte :?

Weil ich hatte ja die Dateiendung der zu splittenden Datei in dieser gesplitteten Datei ganz am anfang gespeichert und dann mit Copy ausgelesen.

Muss ich mir mal angucken

DeddyH 5. Okt 2007 19:47

Re: Variable an Unit von Komponente übergeben?
 
Oh Mann :wall: , habe mir den Source einmal genauer angesehen und festgestellt, dass die Dateiendung eh nur dann auf XXX gesetzt wurde, wenn die Property FileName leer war. Hätte man sich also auch sparen können, aber naja.

Tommy1988 5. Okt 2007 19:53

Re: Variable an Unit von Komponente übergeben?
 
Das hab ich im vorhinein schon geklört gehabt.

Mein Problem ist jetzt nur, dass das verdammte CustomExt nicht in die Datei schreiben will

Oben hab ich ExeName jezt als array [1..34] of Char; hingeschrieben

unten.. ja da kann ich nix hinschreiben weil
Signature.ExeName := CustomExt;
nicht geht

DeddyH 5. Okt 2007 19:55

Re: Variable an Unit von Komponente übergeben?
 
CustomExt heißt doch nur, dass Du dort die Dateiendung angeben kannst, die Dir beliebt, nicht mehr und nicht weniger.

Tommy1988 5. Okt 2007 19:57

Re: Variable an Unit von Komponente übergeben?
 
Ich meinte eigentlich, das hier:: mom..

Wenn ich eine Datei splitte, dann wird
TFileSplitter.Create
aufgerufen. Und da dachte ich, dass ich die Dateiendug zu gesplitteten Datei darin speichere damit die in die Datei geschrieben wird.

und wenn ich dann später unsplitte hole ich mir die ersten 3 zeichen via copy und setze daraus Dateiname + Dateiendung zusammen

DeddyH 5. Okt 2007 20:04

Re: Variable an Unit von Komponente übergeben?
 
Nein, falsch verstanden, so arbeitet die Kompo nicht. Ist da keine Demo dabei? Hab wirklich nur flüchtig drübergeschaut.

Tommy1988 5. Okt 2007 20:10

Re: Variable an Unit von Komponente übergeben?
 
Doch, die demo nehme ich als grundlage ich habe es mir soweit ich konnte umgeschrieben.

Weil was bringt es mir eine datei zu splitten, wenn sie, wenn ich sie unsplitte, die dateiendung XXX hat.

Deswegen wollte ich die dateiendung abschneiden, in die dateischreiben (in die dateischreiben klappt), dann beim unsplitten auslesen und an die datei hängen.

So lese ich es aus:
Delphi-Quellcode:
FileName := OpenDialog.FileName;

  AssignFile(Datei, FileName);
  Reset(Datei);
  try
    ReadLn(Datei, MyString);
    Label4.Caption := copy(MyString, 0, 3);
    Ex := copy(MyString, 0, 3);
    FileSplitter.CustomExt := Ex;
  finally
    CloseFile(Datei);
  end;
  bla := Ex;
  FileSplitter.CustomExt := bla;
  FileSplitter.UnSplit;
  ShowMessage('Done unsplitting!');
end;
Nur da gibts ein problem in der unit filesplitter

Delphi-Quellcode:
type
  TSignature = record
    ExeName: String; // String, weil mit Array ist unkompatibel
    Copyright: array [1..34] of Char;
    NumberOfFiles: Word;
  end;
Delphi-Quellcode:
 
// ..
Signature.ExeName := CustomExt; // Problem !!!, es wird "nix" hineingeschrieben, also leer
  Signature.Copyright := 'Copyright';
  Signature.NumberOfFiles := 0;

DeddyH 5. Okt 2007 20:13

Re: Variable an Unit von Komponente übergeben?
 
Mal langsam zum Verständnis: Du möchtest in dem Record den Originalnamen der Datei ablegen und diese später unter diesem Namen wiederherstellen?

Tommy1988 5. Okt 2007 20:15

Re: Variable an Unit von Komponente übergeben?
 
Ja, so kann man es auch sagen.

Nur ich kriegs nicht richtig hin :?
Ist das falsch mit dem Record? oder überhaupt wie ich das mache

DeddyH 5. Okt 2007 20:29

Re: Variable an Unit von Komponente übergeben?
 
Moment, ich muss noch mal in die Sourcen schauen (diesmal etwas genauer).


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:24 Uhr.
Seite 2 von 3     12 3      

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