Autor Beitrag
chris_davidi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 76

Windows 98 SE
Delphi 3
BeitragVerfasst: Mi 03.09.03 10:07 
Hi..

Ich habe folgendes Problem.

Ich will das beim Start meiner Anwendung eine MessageBox aufgerufen wird (oder eine Form, welche selber kreiert wurde, ganz egal). Dies ist ja ganz einfach. Dort soll aber eine bestimmte Parameterreihenfolge eingegeben werden. Die Eingabe wäre zum Beispiel jjKWww. Dies soll dann übergeben werden in folgende Prozedur.

ausblenden Delphi-Quelltext
1:
if not FileExists('jjKWww') then					


Hoffe ihr versteht das Problem. Kann mir jemand helfen? Wäre sehr nett.

Danke im Vorraus.
Chris

Moderiert von user profile iconTino: Delphi-Tags hinzugefügt.
DaBass
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mi 03.09.03 11:04 
ehrlich gesagt, verstehe ich das Problem nicht...

Kannst du es mal genauer beschreiben??
chris_davidi Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 76

Windows 98 SE
Delphi 3
BeitragVerfasst: Mi 03.09.03 11:12 
Ok...

Ich habe mir nun eben eine Form gemacht. Es hat ein Edit Feld und einen Button.

In das Edit Feld gebe ich zum Beispiel jjKWww (<- EINGABE) ein. Nun will ich, dass jjKWww als Parameter übergeben wird in folgende Prozedur. Also in den Code wo ich gepostet habe.

ausblenden Delphi-Quelltext
1:
if not FileExists('jjKWww <- EINGABE') then					


Sprich, immer wenn ich das Programm aufrufe und was eingebe, soll der Wert übergeben werden.

Moderiert von user profile iconTino: Delphi-Tags hinzugefügt.
Tino
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Veteran
Beiträge: 9839
Erhaltene Danke: 45

Windows 8.1
Delphi XE4
BeitragVerfasst: Mi 03.09.03 11:24 
Hallo!

ausblenden Delphi-Quelltext
1:
If not FileExists (Edit1.Text) Then					


Gruß
Tino
chris_davidi Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 76

Windows 98 SE
Delphi 3
BeitragVerfasst: Mi 03.09.03 11:51 
Okay Danke, klappt.

Nun wirft sich aber ein anderes Problem auf.

ausblenden Quelltext
1:
2:
3:
4:
5:
6:
procedure TForm1.FormCreate(Sender: TObject);
begin
  Caption:='NDC Health - ' + GetCurrentDir;
  ZipMaster1.ZipFileName:='C:\Eigene Dateien\NDC- Transfer\DATEINAME.zip';
  ZipMaster1.Load_Zip_Dll;
end;


Ich will den Text, welcher in das Edit eingegeben wurde verwenden, um die Datei abzuspeichern. Also Text wird eingegeben, Datei wird gezippt und soll unter dem Name, welcher in Edit1 steht abgespeichert werden.

Also die Zeile ist wichtig:
ausblenden Quelltext
1:
ZipMaster1.ZipFileName:='C:\Eigene Dateien\NDC- Transfer\DATEINAME.zip';					


Das ich darin den Wert, bzw. Text einfügen kann, welcher Edit1 hat, so dass dann die Datei diesen Namen erhält.

Weiß jemand wie das geht, weil wenn ich statts DATEINAME einfach Edit1.Text eingeben heißt die Datei am Ende "Edit1.Text.zip".
DaBass
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mi 03.09.03 11:57 
versuchs mal so:

ausblenden Delphi-Quelltext
1:
ZipMaster1.ZipFileName:='C:\Eigene Dateien\NDC- Transfer\' + edit1.text + '.zip';					
chris_davidi Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 76

Windows 98 SE
Delphi 3
BeitragVerfasst: Mi 03.09.03 12:00 
Habe ich probiert, sieht von der Logik besser aus. Aber die Datei hat nun gar keinen Dateinamen. Habe mal die + weggelassen oder versetzt, bringt aber keinen Unterschied. An was kann das liegen?
chris_davidi Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 76

Windows 98 SE
Delphi 3
BeitragVerfasst: Mi 03.09.03 13:02 
Wenn ich in den Objektmanager bei Edit1 unter Text etwas eingebe, hat es den Dateinamen. Wenn ich es jedoch leer lasse und es auslesen lass mit dem von DaBass hat die Datei keinen Dateinamen, nur eine Endung

ausblenden Delphi-Quelltext
1:
ZipMaster1.ZipFileName:='C:\Eigene Dateien\NDC- Transfer\' + edit1.text + '.zip';					


Weiß jemand Rat?
DaBass
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mi 03.09.03 13:18 
dann musst du zuerst das feld noch überprüfen:

ausblenden Delphi-Quelltext
1:
if not edit1.text = '' then ZipMaster1.ZipFileName:='C:\Eigene Dateien\NDC- Transfer\' + edit1.text + '.zip';					


so sollte auch dieses Probleem gelöst sein!
chris_davidi Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 76

Windows 98 SE
Delphi 3
BeitragVerfasst: Mi 03.09.03 13:22 
Geht nicht, "Operator ist auf diesen Operandentyp nicht anwendbar".
DaBass
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mi 03.09.03 13:25 
dann versuche es so:

ausblenden Delphi-Quelltext
1:
if edit1.text <> '' then ZipMaster1.ZipFileName:='C:\Eigene Dateien\NDC- Transfer\' + edit1.text + '.zip';					
chris_davidi Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 76

Windows 98 SE
Delphi 3
BeitragVerfasst: Mi 03.09.03 13:50 
Es läuft zwar, aber es macht keinen Unterschied. Bringt ebenfalls kein Ergebnis.

Hier mal mein Code, bei dem ich den Effekt haben möchte. Nur eben will ich, dass der Dateinamen der ZIP- Datei den Wert von Edit.text hat, welcher ich in der Edit eingebe.

ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, ZipMstr,
  Buttons, StdCtrls, ExtCtrls;

type
  TForm1 = class(TForm)
    Panel1: TPanel;
    button_: TSpeedButton;
    ZipMaster1: TZipMaster;
    title: TLabel;
    help_button: TSpeedButton;
    exit_button: TSpeedButton;
    kw_day: TEdit;
    parameter: TLabel;
    kw_year: TEdit;
    kw: TLabel;
    Label1: TLabel;
    edit1: TEdit;
    procedure button_Click(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure exit_buttonClick(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.FormCreate(Sender: TObject);
begin
  Caption:='NDC Health - ' + GetCurrentDir; // Titel der Form enthält Pfad zum Verzeichniss der Anwendung
  ZipMaster1.ZipFileName:='C:\Eigene Dateien\NDC- Transfer\' + edit1.text + '.zip'; // Pfad & Format der Enddatei (Dateiname = Wert von Eingabefeld)
  ZipMaster1.Load_Zip_Dll; // benötigte DLL- Datei wird geladen (ZipDll.dll)
end;

procedure TForm1.button_Click(Sender: TObject);
begin
   if not FileExists('C:\Eigene Dateien\NDC- Transfer\intra.txt') then  // Überprüfung ob Datei exisitert
   begin
      ShowMessage('Fehler - Datei intra.txt nicht gefunden! Übertragung vom Host auf PC muss fehlerhaft gewesen sein!'); // wenn Datei nicht existiert, dann...
      Exit; // ... Ende
   end;
   ZipMaster1.FSpecArgs.Add('C:\Eigene Dateien\NDC- Transfer\intra.txt'); // Pfad & Format der Datei, welche in das Archiv hinzugefügt wird
   ZipMaster1.Add; // Hauptteil der Hinzufügung zum Archiv
   ShowMessage('Wenn der Wert hinter dem =- Zeichen 1 ist, dann ist alles gut gelaufen. = ' + IntToStr(ZipMaster1.SuccessCnt)); // Erfolgsmeldung
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
 ZipMaster1.Unload_Zip_Dll; // benötigte DLL- Datei wird entladen (ZipDll.dll)
end;

procedure TForm1.exit_buttonClick(Sender: TObject);
begin
 Form1.Close; // Form1 schließen
end;

end.
[/code]
DaBass
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mi 03.09.03 13:59 
ich sehe wo der Fehler steckt.

Du fragst die edit1.Text schon beim FormCreate ab. Jedoch wird dann die Form erst erstellt.... und du kannst noch gar nichts rein schreiben. und wenn schon was darin stehen würde, dann würde immer das gleiche angezeigt, da die Form nur einmal erstellt wird!

Nimm die Zeile, in der du dem Ziparchiv den Namen erteilst doch auch in die ButtonClick Funktion.... :)

Dann sollte alles Funktionieren.

verstanden??
chris_davidi Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 76

Windows 98 SE
Delphi 3
BeitragVerfasst: Mi 03.09.03 14:02 
Danke dir. :) Hat klasse geklappt, danke auch für die Erklärung. Denke ich wäre selbst in 50 Jahren nicht drauf gekommen. ;) Läuft nun klasse, danke für deine/eure Hilfe. :)