Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi in einem Verzeichnis eine .cfg Datei öffnen (https://www.delphipraxis.net/29221-einem-verzeichnis-eine-cfg-datei-oeffnen.html)

roxxy 6. Sep 2004 08:12


in einem Verzeichnis eine .cfg Datei öffnen
 
Hey Leute,

Wie kann ich auf ein Verzeichnis zugreifen und dort eine .cfg Datei öffnen???

Aus dieser Datei sollen dann bestimmte Namen herausgelesen werden und und gleichnamige Unterverzeichnisse erstellt werden.

In der .cfg Datei stehen dann noch anderen Namen, die als Datei exestieren, und diese Dateien sollen dann in ein bestimmtes Verzeichnis kopiert werden.


könnt ihr mir dabei helfen???

Habe mir schon Tagelang den kopf darüber zerbrochen :gruebel:


cu roxxy

himitsu 6. Sep 2004 08:24

Re: in einem Verzeichnis eine .cfg Datei öffnen
 
wie willst du eigentlich die Datei einlesen - es gibt ja tausende Möglichkeiten

1: mir ReadLn einlesen (AssignFile, Reset, EoF, ReadLn ...)
2: mit StringList einlesen (TStringlist)
...
und mit CreateDir erstellen

roxxy 6. Sep 2004 08:31

Re: in einem Verzeichnis eine .cfg Datei öffnen
 
Hey,
Ich will aus der .cfg zwischen " " den Namen herauslesen und mit diesem ein verzeichnis erstellen.

Und zwischen " " den Namen herauslesen und die gleichnamige datei in das verzeichnis kopieren.


zwischen den " " sind leerzeichen, die übersprungen werden sollen
z.b.
NAME [GenCfgString]="A00 --- Aufträge"
es soll ein verzeichnis Aufträge erstellt werden.

cu roxxy

himitsu 6. Sep 2004 08:37

Re: in einem Verzeichnis eine .cfg Datei öffnen
 
also dann solltest du uns wohl erstmal eine CFG zeigen (deren Aufbau kann ja total unterschiedlch sein)

auslesen könnte z.B. so gehn:
Delphi-Quellcode:
  Var TF: TextFile;
    S: String;

  AssignFile(TF, FileName);
  Reset(TF);
  While not EoF(TF) do Begin
    ReadLn(TF, S);
    S := ... {Dateiname extrahieren}
    CreateDir(S);
  End;
  CloseFile(TF);
Delphi-Quellcode:
  Var SL: TStringList;
    i: Integer;
    S: String;

  SL := TStringList.Create();
  SL.LoadFromFile(FileName);
  For i := 0 to SL.Count - 1 do Begin
    S := ... SL[i] ... {Dateiname extrahieren}
    CreateDir(S);
  SL.Free;
Den Dateinamen könntest du z.B. mit Hilfe von Pos/PosEx und Copy extrahieren

himitsu 6. Sep 2004 08:44

Re: in einem Verzeichnis eine .cfg Datei öffnen
 
Dieses "A00 --- " ist das immer gleich lang, oder ist es sogar immer gleich?

roxxy 6. Sep 2004 08:45

Re: in einem Verzeichnis eine .cfg Datei öffnen
 
Danke, das hat mir schon weiter geholfen


Super, dass das so schnell ging.



:hello:

roxxy 6. Sep 2004 09:07

Re: in einem Verzeichnis eine .cfg Datei öffnen
 
Es ist immer gleich lang und hatt immer zwei leerzeichen.

Es wird dann nur zu AA0, dann zu AA1.

sonst ändert sich nichts

himitsu 6. Sep 2004 09:27

Re: in einem Verzeichnis eine .cfg Datei öffnen
 
Weil, wenn das unterschiedlich lang ist, dann müßte man ja noch einen Übergang dazwischen finden - z.B.:
Delphi-Quellcode:
  Var TF: TextFile;
    S: String;
    P1, P2: Integer;

  AssignFile(TF, FileName);
  Reset(TF);
  While not EoF(TF) do Begin
    ReadLn(TF, S);
    (***** extrahieren *****)
    P1 := Pos('="', S) + 2;
    P1 := PosEx(' --- ', S, P1) + 5; {<<<<<<<<<<<<<<<<<<<<}
    P2 := PosEx('"', S, P1) - 1;
    S := Copy(S, P1, P2 - P1 + 1);
    (***********************)
    CreateDir(S);
  End;
  CloseFile(TF);
aber das ist hier ja nicht nötig, da ja immer die ersten 8 Zeichen weg müssen;
Delphi-Quellcode:
    ...
    (***** extrahieren *****)
    P1 := Pos('="', S) + 10;
    P2 := PosEx('"', S, P1) - 1;
    S := Copy(S, P1, P2 - P1 + 1);
    (***********************)
    ...


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:47 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