Anwendung soll Ordner erstellen
Re: Anwendung soll Ordner erstellen
Ich denke du führst dir mal mein Link zu Gemüte und arbeitest erst mal ein Grundlagen-Tutorial durch, alles andere hat keinen Wert.
Re: Anwendung soll Ordner erstellen
Wenn du in dem Tempo weitermachst, schaffst du bis zu Niklaus Wirths hundertstem Geburtstag dein erstes eigenes Programm.McCry hat geschrieben: lerne erst seit 2 Jahren Pascal.

-
- Beiträge: 42
- Registriert: Mi 20. Jul 2011, 21:49
- OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
- CPU-Target: xxBit
- Wohnort: Na Hier
- Kontaktdaten:
Re: Anwendung soll Ordner erstellen
@theo
Boa Alter!
Der Witz hat jetzt aber gessesen.
Boa Alter!
Der Witz hat jetzt aber gessesen.
Code: Alles auswählen
Signatur[color=#FF0000]:=[/color]McCry
Website[color=#FF0000]:=[/color][color=#0000FF]ritualist.bplaced.net[/color]
Re: Anwendung soll Ordner erstellen
Wieso? Das war gar kein Witz.McCry hat geschrieben:@theo
Boa Alter!
Der Witz hat jetzt aber gessesen.

-
- Beiträge: 1187
- Registriert: Mi 13. Dez 2006, 10:58
- OS, Lazarus, FPC: Winux (L 1.2.xy FPC 2.6.z)
- CPU-Target: AMD A4-6400 APU
- Wohnort: Hamburg
Re: Anwendung soll Ordner erstellen
Versuchs mal so:
Im aktiven Verzeichnis sollte dann MeinDir als Unterverzeichnis auftauchen.
Code: Alles auswählen
program testCrDir;
uses
sysutils;
var
DirStr: string;
begin
DirStr:= 'MeinDir';
CreatDir(DirStr);
end;
Humor ist der Knopf, der verhindert, daß uns der Kragen platzt.
(Ringelnatz)
(Ringelnatz)
-
- Beiträge: 42
- Registriert: Mi 20. Jul 2011, 21:49
- OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
- CPU-Target: xxBit
- Wohnort: Na Hier
- Kontaktdaten:
Re: Anwendung soll Ordner erstellen
hi,
erstmal danke das du mir helfen willst.
Aber da , wie schon gesagt, mein Lehrer nicht viel drauf hat, weis ich nicht wie ich die Unit gestalten soll.
LG McCry
erstmal danke das du mir helfen willst.
Aber da , wie schon gesagt, mein Lehrer nicht viel drauf hat, weis ich nicht wie ich die Unit gestalten soll.

LG McCry
Code: Alles auswählen
Signatur[color=#FF0000]:=[/color]McCry
Website[color=#FF0000]:=[/color][color=#0000FF]ritualist.bplaced.net[/color]
Re: Anwendung soll Ordner erstellen
Hallo,
auch wenn das Thema schon älter ist hätte ich auch mal eine Frage dazu.
Ich möchte abfrage ob ein Verzeichnis schon besteht und wenn nicht sollen die fehlenden Ordner erstellt werden.
Dazu benutze ich ForceDirectories. Allerdings kann er mit dem DBEdit17.Caption nichts anfangen (DBEdit17 enthält den namen des letzten Ordners.
Wie löse ich das Problem korrekt?
Vielen Dank vorab!
auch wenn das Thema schon älter ist hätte ich auch mal eine Frage dazu.
Ich möchte abfrage ob ein Verzeichnis schon besteht und wenn nicht sollen die fehlenden Ordner erstellt werden.
Dazu benutze ich ForceDirectories. Allerdings kann er mit dem DBEdit17.Caption nichts anfangen (DBEdit17 enthält den namen des letzten Ordners.
Wie löse ich das Problem korrekt?
Code: Alles auswählen
ForceDirectories ('L:\XXX\YYY\'DBEdit17.Caption); //('L:\XXX\YYY\'DBEdit17.Caption)
Code: Alles auswählen
unit1.pas(586,96) Fatal: Syntax error, ")" expected but "identifier DBEDIT17" found
-
- Beiträge: 1187
- Registriert: Mi 13. Dez 2006, 10:58
- OS, Lazarus, FPC: Winux (L 1.2.xy FPC 2.6.z)
- CPU-Target: AMD A4-6400 APU
- Wohnort: Hamburg
Re: Anwendung soll Ordner erstellen
Die Einfachmethode.

Code: Alles auswählen
{$I+}
ChDir(EditField.Text):
if IOResult <> 0 then begin
MkDir(EditField.Text);
end;
{$I-}
Humor ist der Knopf, der verhindert, daß uns der Kragen platzt.
(Ringelnatz)
(Ringelnatz)
-
- Beiträge: 106
- Registriert: Mi 3. Feb 2016, 09:39
- OS, Lazarus, FPC: Linux(Arch Linux(+ARM)/Minibian) (L 1.6.0 FPC 3.0.0)
- CPU-Target: 32/64Bit,ARM(RPi)
- Wohnort: nahe Grimma
Re: Anwendung soll Ordner erstellen
Hallo l0lhaxx,
irgendwie haut der dir (laut highlight) den ganzen string kaputt.
Probier es mal ohne das DBEdit.
Und zur zusammenführung von strings + benutzen.
irgendwie haut der dir (laut highlight) den ganzen string kaputt.
Probier es mal ohne das DBEdit.
Und zur zusammenführung von strings + benutzen.
Code: Alles auswählen
'String' + Edit1.Text
Mfg Requion
Das beste an Standards ist, dass es so viele davon gibt.
Das beste an Standards ist, dass es so viele davon gibt.
Re: Anwendung soll Ordner erstellen
Ist das ganze Unicode fähig?
-
- Beiträge: 1187
- Registriert: Mi 13. Dez 2006, 10:58
- OS, Lazarus, FPC: Winux (L 1.2.xy FPC 2.6.z)
- CPU-Target: AMD A4-6400 APU
- Wohnort: Hamburg
Re: Anwendung soll Ordner erstellen
Pardon!!
Sonst klappt vielleicht die Abfrage mit IOResult nicht. Da es normale Pascal-Strings sind macht er auch Unicode.
Code: Alles auswählen
{$I-}
ChDir(Edit.Text);
if IOResult <> 0 then begin
...
end;
{$I+}
Humor ist der Knopf, der verhindert, daß uns der Kragen platzt.
(Ringelnatz)
(Ringelnatz)
Re: Anwendung soll Ordner erstellen
Was bedeutet hier ?
Code: Alles auswählen
{$I-} bzw. {$I+}
-
- Beiträge: 1187
- Registriert: Mi 13. Dez 2006, 10:58
- OS, Lazarus, FPC: Winux (L 1.2.xy FPC 2.6.z)
- CPU-Target: AMD A4-6400 APU
- Wohnort: Hamburg
Re: Anwendung soll Ordner erstellen
{$I-} = Schalte die Prüfung durch das System ab
{$I+} = Schalte Systemprüfung wieder ein
Normalerweise wird das Schiefgehen der Abfrage mit einer Exception durch das System beantwortet die man nicht abfangen kann. In IOResult steht in dem Fall nix und es gibt einen schweren Ausnahmefehler mit Programmabbruch. Durch das Abschalten kann man in IOResult(Systemvariable von Pascal) die Fehlernummer ermitteln und sehen was nicht richtig war.
Eleganter ist eine Exception, aber so geht es auf einfache Art auch. Man sollt das aber immer nur punktuell abschalten, also nicht am Anfang aus und bei Programmende ein. Sonst kommen keine Ausnahmefehler mehr und man sucht sich tot.
{$I+} = Schalte Systemprüfung wieder ein
Normalerweise wird das Schiefgehen der Abfrage mit einer Exception durch das System beantwortet die man nicht abfangen kann. In IOResult steht in dem Fall nix und es gibt einen schweren Ausnahmefehler mit Programmabbruch. Durch das Abschalten kann man in IOResult(Systemvariable von Pascal) die Fehlernummer ermitteln und sehen was nicht richtig war.
Eleganter ist eine Exception, aber so geht es auf einfache Art auch. Man sollt das aber immer nur punktuell abschalten, also nicht am Anfang aus und bei Programmende ein. Sonst kommen keine Ausnahmefehler mehr und man sucht sich tot.

Humor ist der Knopf, der verhindert, daß uns der Kragen platzt.
(Ringelnatz)
(Ringelnatz)
Re: Anwendung soll Ordner erstellen
so funktioniert es übrigens auch....
Code: Alles auswählen
ForceDirectories ('L:\Pfad\Pfad\Pfad\'+DBEdit17.Caption);
-
- Beiträge: 1187
- Registriert: Mi 13. Dez 2006, 10:58
- OS, Lazarus, FPC: Winux (L 1.2.xy FPC 2.6.z)
- CPU-Target: AMD A4-6400 APU
- Wohnort: Hamburg
Re: Anwendung soll Ordner erstellen
@lolhaxx
Jupp, aber in dem Fall wird das Verzeichnis erstellt wenn es nicht existiert. Mit der anderen Methode wird erst mal nur auf Vorhandensein getestet. Komplett sieht das dann eher so aus:
Jupp, aber in dem Fall wird das Verzeichnis erstellt wenn es nicht existiert. Mit der anderen Methode wird erst mal nur auf Vorhandensein getestet. Komplett sieht das dann eher so aus:
Code: Alles auswählen
GetDir(PathPuffer);
{$I-}
ChDir(Edit.Text);
{$I+}
if IOResult <> 0 then begin
// hier Verzeichnis anlegen
MkDir(Edit.Text);
ChDir(Edit.Text);
// alles was du möchtest hier
end;
ChDir(PathPuffer); // und wieder ins Körbchen
Humor ist der Knopf, der verhindert, daß uns der Kragen platzt.
(Ringelnatz)
(Ringelnatz)