Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Variable an txt Dateinamen anhängen (https://www.delphipraxis.net/158556-variable-txt-dateinamen-anhaengen.html)

Newcomer91 22. Feb 2011 08:23

Variable an txt Dateinamen anhängen
 
Guten Morgen,

Mich würde brennend interessieren wie ich eine variable die im laufe des Programms festgelegt wird,
anschließend an den Dateinamen einer neu zu erstellenden txt Datei anhängen kann.

Die Vorgeschichte davon ist, dass ich zurzeit einen Vokabeltrainer programmiere. Nun legt man beim Anlegen neuer Vokabeln fest ob es sich um eine Vokabel der Kategorie Easy, Average, Hard oder Unusual handelt (Radio Button).

Je nachdem was der Nutzer dann auswählt wird überprüft ob eine txt datei mit dem einer der vier Bezeichnungen .txt schon existiert, wenn nicht soll es halt neu angelegt werden.

Hier der Code zum anlegen, die string variable in der die Bezeichnung zugeordnet wird (Easy, Average, Hard oder Unusual) heißt rb und ist private deklariert.

Delphi-Quellcode:
procedure TfrmInsert.btnSaveClick(Sender: TObject);
var
  txt: Textfile;
  sDir: String;
begin
  sDir := ExtractFilePath(Application.Exename)+'Data\';
  if ((rbEasy.Checked) or (rbAverage.Checked) or (rbHard.Checked) or (rbUnusual.Checked)) then
    if ((edtEnglish.Text <> '') and (edtGerman.Text <> '')) then
      begin
        if not DirectoryExists(sDir) then
          ForceDirectories(sDir);

        if not FileExists((sDir)+ 'Vocabulary.txt') then
          begin
            extractFilePath(sDir);
            assignFile(txt, sDir + 'Vocabulary.txt');
            rewrite(txt);
            CloseFile(txt);
          end;
      end;
end;
Wie häng ich die Bezeichnung ans 'Vocabulary.txt' an?

Danke im vorraus.

DeddyH 22. Feb 2011 08:27

AW: Variable an txt Dateinamen anhängen
 
Ich verstehe nicht ganz, worauf Du hinauswillst. Soll der Dateinamen entsprechend der Kategorie geändert werden?
BTW:
Zitat:

Delphi-Quellcode:
extractFilePath(sDir);

ist komplett sinnfrei.

Newcomer91 22. Feb 2011 08:31

AW: Variable an txt Dateinamen anhängen
 
Also eine der vier Bezeichnungen soll an den Dateinamen angehangen werden, sollte dieser mit der angehangenden Bezeichnung noch nicht existieren.

Man wählt quasi eine Bezeichnung (easy,average,hard,unusual)

Durch klick auf Radio button. Die ausgewählte Bezeichnung wird gespeichert in nem String, und
anschließend wird es halt getestet ob schon vorhanden.

Die Grundformulierung der txt Datei ist Vocabulary.txt

Das Ergebnis soll sein z.B.

klick auf Easy

überprüfen easy vorhanden

wenn nicht anlegen

resultat: EasyVocabulary.txt

DeddyH 22. Feb 2011 08:41

AW: Variable an txt Dateinamen anhängen
 
Du hast einen fixen Teil("Vocabulary.txt") und einen variablen Teil. Den variablen Teil ermittelst Du anhand des RadioButtons und fügst ihn dann mit dem fixen Teil zum endgültigen Dateinamen zusammen.

Newcomer91 22. Feb 2011 08:45

AW: Variable an txt Dateinamen anhängen
 
Das weiß ich doch, nur meine Frage ist wie ich das mache.

Delphi-Quellcode:
assignFile(txt, sDir + rb +'Vocabulary.txt');
Sowas würd beispielsweise nicht funktionieren, ist mir auch klar wieso.
Nur wie, muss ich das formulieren?

DeddyH 22. Feb 2011 08:49

AW: Variable an txt Dateinamen anhängen
 
Ich weiß zwar nicht, wieso das so nicht funktionieren soll, aber Du kannst allein aus Gründen des besseren Verständnisses ja noch eine Zwischenvariable einführen.
Delphi-Quellcode:
const
  fixerTeil = 'Vocabulary.txt';
var
  VocFilename: string;
...
VocFilename := Format('%s%s%s',[sDir, rb, fixerTeil]);
AssignFile(f, VocFilename);

Deep-Sea 22. Feb 2011 08:57

AW: Variable an txt Dateinamen anhängen
 
Zitat:

Zitat von DeddyH (Beitrag 1083400)
Ich weiß zwar nicht, wieso das so nicht funktionieren soll [...]

Weil "rb" wohl für RadioBox steht und nicht für einen String, der auf der Auswahl eben dieser basiert :-D

DeddyH 22. Feb 2011 08:58

AW: Variable an txt Dateinamen anhängen
 
Moooooment, im Ausgangspost heißt es
Zitat:

die string variable in der die Bezeichnung zugeordnet wird (Easy, Average, Hard oder Unusual) heißt rb und ist private deklariert.

Newcomer91 22. Feb 2011 08:59

AW: Variable an txt Dateinamen anhängen
 
genauso ist es.

Ich will einfach nur dass dieser String in rb an den Dateinamen angehangen wird.

Ich werds ausprobieren, danke DeddyH

Deep-Sea 22. Feb 2011 09:02

AW: Variable an txt Dateinamen anhängen
 
@DeddyH:
Tja, wer lesen kann :oops:
Ist ja aber auch ein total aussagekräftiger Name - solche Sourcecodes mag ich :roll:
(Dann versteh ich aber auch nicht, warum das so nicht funktionieren sollte...)


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:02 Uhr.
Seite 1 von 3  1 23      

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