Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi datei neu speichern, wenn nicht vorh. (https://www.delphipraxis.net/23909-datei-neu-speichern-wenn-nicht-vorh.html)

Master-Joko 11. Jun 2004 20:18


datei neu speichern, wenn nicht vorh.
 
guten abend an die ganzen programmers hier...

ich hab folgendes problem, was ich schon seit 2std. nicht beseitigt kriege. nachdem ich die FileExists routine reingepackt hab, klappt nun nix mehr (compilieren).
es tritt folgende meldung auf
Delphi-Quellcode:
Statement expected, but Procedure found
could not compile used unit in 'main.pas'
achja die variable sl: TStringList; hab ich als global deklariert

Delphi-Quellcode:
procedure Thaupt.generate_buttonClick(Sender: TObject);

begin
 if not FileExists('Content.txt') then
    begin
      sl:=TStringList.Create;
      try
      sl.Add('Content.TXT wurde nicht gefunden!');
      sl.Add('Datei neu erzeugt');
      sl.SaveToFile('Content.TXT');
      finally
      sl.free;
      memo1.clear;
      memo1.Lines.LoadFromFile('Content.TXT');
    end;
end;
könnte mir bitte jemand helfen????

Markus K. 11. Jun 2004 20:34

Re: datei neu speichern, wenn nicht vorh.
 
Hallo Master-Joko,
ich würde sagen, dass bei deiner Prozedur ein end fehlt.

Tschüß Markus

jAcK oRsEn 11. Jun 2004 20:37

Re: datei neu speichern, wenn nicht vorh.
 
bei mir klappt es ohne probleme

Delphi-Quellcode:
var
  Form1: TForm1;
  sl : tstringlist;

implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);
begin
if not FileExists('Content.txt') then
    begin
      sl:=TStringList.Create;
      try
      sl.Add('Content.TXT wurde nicht gefunden!');
      sl.Add('Datei neu erzeugt');
      sl.SaveToFile('Content.TXT');
      finally
      sl.free;
      memo1.clear;
      memo1.Lines.LoadFromFile('Content.TXT');
    end;
end;
end;

Master-Joko 11. Jun 2004 21:07

Re: datei neu speichern, wenn nicht vorh.
 
naja - @ markus , ich weiß ja net, ob du es an den augen hast, aber was zwei begin hat - hat bei mir auch zwei end....

hmm . ... . . .

Delphi-Quellcode:
unit main;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, XPMan, ComCtrls, StdCtrls, ExtCtrls, DBCtrls, IdLogBase,
  IdLogFile, IdIntercept, IdTCPServer, IdFTPServer, IdBaseComponent,
  IdComponent, IdTCPConnection, IdTCPClient, IdFTP, dblookup;

type
  Thaupt = class(TForm)
    exit_button: TButton;
    generate_button: TButton;
    RadioGroup1: TRadioGroup;
    XPManifest1: TXPManifest;
    apps: TRadioButton;
    movies: TRadioButton;
    games: TRadioButton;
    mixed: TRadioButton;
    Rulez: TRadioGroup;
    upper: TCheckBox;
    upperedit: TEdit;
    leecher: TCheckBox;
    leechedit: TEdit;
    upload: TCheckBox;
    uploadedit: TEdit;
    profil: TCheckBox;
    uploadlink: TCheckBox;
    Timer1: TTimer;
    Label1: TLabel;
    Memo1: TMemo;
    IP: TEdit;
    Pfad: TEdit;
    IdFTP1: TIdFTP;
    IdFTPServer1: TIdFTPServer;
    IdConnectionIntercept1: TIdConnectionIntercept;
    IdLogFile1: TIdLogFile;
    special: TRadioGroup;
    pn_betreff: TCheckBox;
    pn_fertig: TCheckBox;
    pn_special_box: TComboBox;
    bevorzugte: TEdit;
    pn_special: TCheckBox;
    CheckBox_bevorzugte: TCheckBox;
    procedure exit_buttonClick(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
    procedure generate_buttonClick(Sender: TObject);
    procedure pn_specialClick(Sender: TObject);
    procedure CheckBox_bevorzugteClick(Sender: TObject);
  private
   Zaehler: Integer;

    { Private declarations }
  public

    { Public declarations }
  end;

var
  haupt: Thaupt;
     sl: TStringList;
implementation

{$R *.dfm}

procedure Thaupt.exit_buttonClick(Sender: TObject);
begin
Application.Terminate;
end;


procedure Thaupt.Timer1Timer(Sender: TObject);

var
Text: AnsiString;
begin
Text := 'Lalalaaalalaaaalala nix wichtiges!!!                        ';
Inc(Zaehler);
Label1.Caption := Copy(Text,Zaehler,600);
 if Zaehler + 200 > Length(Text) then
  Label1.Caption := Label1.Caption + Copy(Text,1,200 - (Length(Text) - Zaehler));
 if Zaehler = Length(Text) then Zaehler := 0;
end;

procedure Thaupt.generate_buttonClick(Sender: TObject);

begin
 if not FileExists('Content.txt') then
    begin
      sl:=TStringList.Create;
      try
      sl.Add('Content.TXT wurde nicht gefunden!');
      sl.Add('Datei neu erzeugt');
      sl.SaveToFile('Content.TXT');
      finally
      sl.free;
      memo1.clear;
      memo1.Lines.LoadFromFile('Content.TXT');
    end;
end;




procedure Thaupt.pn_specialClick(Sender: TObject);
begin
if pn_special.Checked = true then
  Begin
     pn_special_box.visible := true;
  end;

if pn_special.Checked = false then
  Begin
     pn_special_box.visible := false;
  end;

end;

procedure Thaupt.CheckBox_bevorzugteClick(Sender: TObject);

begin
if CheckBox_bevorzugte.Checked = true then
  begin
    bevorzugte.visible := true;
  end;
if CheckBox_bevorzugte.Checked = false then
  begin
    bevorzugte.visible := false;
  end;

end;

end.



program ContentMaker;

{%File 'Content.txt'}

uses
  Forms,
  main in 'main.pas' {haupt};

{$R *.res}

begin
  Application.Initialize;
  Application.CreateForm(Thaupt, haupt);
  Application.Run;
end.
hier ist nun mal der ganze code - aber es läuft wirklich nicht...

ich kanns einfach nicht verstehen!!!!!!!!!!

Christian Seehase 11. Jun 2004 21:10

Re: datei neu speichern, wenn nicht vorh.
 
Moin Master-Joko,

erst einmal herzlich willkommen hier in der Delphi-PRAXiS.

Zitat:

Zitat von Master-Joko
ich weiß ja net, ob du es an den augen hast, aber was zwei begin hat - hat bei mir auch zwei end....

ich schlage mal vor, dass Du Deinen Ton hier künftig etwas mässigst...

Markus hat recht: Es fehlt ein End, denn auch try/finally muss mit einem end abgeschlossen werden.

Master-Joko 11. Jun 2004 21:35

Re: datei neu speichern, wenn nicht vorh.
 
@seehase - das sollte keine beleidigung sein, sondern nur ein hinweis, da - genau wie bei meinem nachposter - es ja anscheinend geklappt hat - nur bei mir net.

und wenn da was fehlte, kannst du es mir glauben, hab ich das schon durchgetestet, da ich - wie gesagt - schon nun mehr als 2std. am testen bin.
also bidde net bös sein auf mich

greetz Joko

Udo 11. Jun 2004 22:27

Re: datei neu speichern, wenn nicht vorh.
 
Schreib in deine Routine halt noch ein "end" rein. Da fehlt wirklich eins. :roll:
Also
Delphi-Quellcode:
try
  ...
finally
  ...
end;

Christian Seehase 11. Jun 2004 23:30

Re: datei neu speichern, wenn nicht vorh.
 
Moin Joko,

wenn Du mal den Code von Dir und jAcK oRsEn vergleichst, wirst Du feststellen, dass er ein end hinzugefügt hat.
Einfach mal abzählen. ;-)

Muetze1 12. Jun 2004 00:00

Re: datei neu speichern, wenn nicht vorh.
 
Moin!

Zitat:

Zitat von Christian Seehase
Moin Joko,

wenn Du mal den Code von Dir und jAcK oRsEn vergleichst, wirst Du feststellen, dass er ein end hinzugefügt hat.
Einfach mal abzählen. ;-)

Du willst es uns nicht glauben oder was?

Dein Code, Original von deinem letzten Code Posting:(nur mal umformatiert)
Code:
procedure Thaupt.generate_buttonClick(Sender: TObject);
begin
  if not FileExists('Content.txt') then
  begin
    sl:=TStringList.Create;
    try
      sl.Add('Content.TXT wurde nicht gefunden!');
      sl.Add('Datei neu erzeugt');
      sl.SaveToFile('Content.TXT');
    finally
      sl.free;
      memo1.clear;
      memo1.Lines.LoadFromFile('Content.TXT');
    end;

end;
Und hier nochmal die funktionierende Variante mit dem hinzugefügten End:
Code:

procedure Thaupt.generate_buttonClick(Sender: TObject);
begin
  if not FileExists('Content.txt') then
  begin
    sl:=TStringList.Create;
    try
      sl.Add('Content.TXT wurde nicht gefunden!');
      sl.Add('Datei neu erzeugt');
      sl.SaveToFile('Content.TXT');
    finally
      sl.free;
      memo1.clear;
      memo1.Lines.LoadFromFile('Content.TXT');
    end;
  End;
end;
MfG
Muetze1

Master-Joko 12. Jun 2004 09:03

Re: datei neu speichern, wenn nicht vorh.
 
Es tut mir unendlich Leid - das ich Markus nicht glauben wollte.

Also nochmal entschuldigung - es fehlte wirklich ein end

ich hab es irgendwie übersehen das try finally ebenfalls ein end braucht

aber trotzdem BIG THX an alle - Problem behoben - end dabei und es geht..



greetz Joko


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:58 Uhr.

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