Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Fehler: Operator oder Semikolon fehlt (https://www.delphipraxis.net/68724-fehler-operator-oder-semikolon-fehlt.html)

ksh 4. Mai 2006 07:55


Fehler: Operator oder Semikolon fehlt
 
Ich weiß, hört sich einfach an, dieser Fehler. Aber ich sitze nun schon mehr als einen Tag und bin am Suchen. Und finde nix!!! :x

Delphi-Quellcode:
procedure TEingabe.ExportierenClick(Sender: TObject);
begin
  // Speichern-Dialog bei Anklicken des Buttons ausführen
   if SaveDialog.Execute then
                  Ausgabetabelle(); // procedure aus Unit Access
  // Tabelle importieren (doppelte Angaben kopieren und einfügen)
  // procedure aus Unit Access
  DatenImportieren();
  // Daten berechnen und exportieren
  // procedure aus Unit Access
  Exportieren();
end;
Und er hängt sich bei der procedure Exportieren auf. Keine Ahnung warum. habe in der Unit Access einfach mal alles außer begin und end; rauskommentiert. und der Fehler existiert immer noch!
Alleine, wenn ich die procdure entferne, bringt er mir keinen Fehler mehr.

Ich hoffe, ihr findet etwas!!!

mkinzler 4. Mai 2006 08:01

Re: Fehler: Operator oder Semikolon fehlt
 
Der Fehler liegt nicht in dieser Methode. Er muß also im Code darüber liegen.

ksh 4. Mai 2006 08:11

Re: Fehler: Operator oder Semikolon fehlt
 
Soweit bin ich auch schon gekommen. Leider finde ich nix! Zuerst hatte ich ja alles in dieser Unit und habs dann ausgelagert. Also copy and paste. Da kann man ja nicht viel falsch machen! :wall:
Hier ist der Quellcode, was überhalb steht...

Delphi-Quellcode:
{******************************************}
{ Unit zur Oberflächengestaltung          }
{ Zuweisung der Eingangsdaten des Dialoges }
{******************************************}
unit Dialog;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Grids, DBGrids, DB, ADODB, StdCtrls, ObjEin, ObjPers, ObjRent, ObjTeilw,
  HiType, HiFunc, Buttons, OleServer, ADOX_TLB;

type
  TEingabe = class(TForm)
    TabelleEinlesen: TButton;
    ADOConnection: TADOConnection;
    ADOQuery: TADOQuery;
    DataSource1: TDataSource;
    DBGrid1: TDBGrid;
    OpenDialog: TOpenDialog;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    Label10: TLabel;
    Bilanztermin: TEdit;
    Rechnungszins: TComboBox;
    PA_Maenner: TComboBox;
    PA_Frauen: TComboBox;
    Rentendynamik: TComboBox;
    ARKZ: TComboBox;
    IRKZ: TComboBox;
    WRKZ: TComboBox;
    RZahlungsweise: TComboBox;
    WRArtKz: TComboBox;
    OK: TBitBtn;
    Abbruch: TBitBtn;
    Label11: TLabel;
    Label12: TLabel;
    Exportieren: TButton;
    SaveDialog: TSaveDialog;
    ADOConnection1: TADOConnection;
    ADOQuery1: TADOQuery;
    DataSource2: TDataSource;
    Label13: TLabel;
    Label14: TLabel;
    Label15: TLabel;
    PSVAG: TCheckBox;
    Label16: TLabel;
    Firmenname: TEdit;


{~~~~~~~~~~ Fenster instantiieren, Standardwerte setzen ~~~~~~~~~}
    procedure FormCreate(Sender: TObject);
{~~~~~~~~~~ Dialog abbrechen ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}
    procedure AbbruchClick(Sender: TObject);
{~~~~~~~~~~ Einlesen der Eingangstabelle ~~~~~~~~~~~~~~~~~~~~~~~~}
    procedure TabelleEinlesenClick(Sender: TObject);
{~~~~~~~~~~ Tabelle erstellen, berechnen, Daten übergeben ~~~~~~~}
    procedure ExportierenClick(Sender: TObject);
{~~~~~~~~~~ Detailansicht ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}
    procedure OKClick(Sender: TObject);


  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Eingabe : TEingabe;
  TEinlesen : boolean;

implementation
{$R *.dfm}

uses Main, Math, Access;


{***************************************}
{ PROCEDURE : Abbruch                  }
{                                       }
{ AUFGABE: schließen des Dialogfensters }
{***************************************}
procedure TEingabe.AbbruchClick(Sender: TObject);
begin
  ModalResult:=mrCancel;
end;


{********************************************}
{ PROCEDURE : FormCreate                    }
{                                            }
{ AUFGABE: Instantiierung des Dialogfensters }
{********************************************}
procedure TEingabe.FormCreate(Sender: TObject);
var JJ,MM,TT : word;
function datumtostr(d : datum) : string;
var s : string;
begin
  s:=inttostr(d.TT)+'.'+inttostr(d.MM)+'.'+inttostr(d.JJ);
  datumtostr:=s;
end;
begin
  // Standardwerte setzten
  Bilanztermin.Text := '31.12.'+inttostr(JJ);
  Rechnungszins.ItemIndex := 0;
  PA_Maenner.ItemIndex := 5;
  PA_Frauen.ItemIndex := 3;
  Rentendynamik.ItemIndex := 0;
  RZahlungsweise.ItemIndex := 3;
  ARKz.ItemIndex := 1;
  IRKz.ItemIndex := 1;
  WRKz.ItemIndex := 1;
  WRArtKz.ItemIndex := 0;
  DecodeDate(Date,JJ,MM,TT);
  // Eingangsdaten zuweisen
  with angdaten.eindaten do
    begin
      Eingabe.Bilanztermin.Text := datumtostr(EinBil);
      Eingabe.Rechnungszins.Text := floattostr(EinRechZins);
      Eingabe.ARKz.ItemIndex := EinARKz;
      Eingabe.IRKz.ItemIndex := EinIRKz;
      Eingabe.WRKz.ItemIndex := EinWRKz;
      Eingabe.Rentendynamik.Text := floattostr(EinDynRenWert);
      Eingabe.WRArtKz.ItemIndex := EinWRArtKz;
      Eingabe.PA_Maenner.ItemIndex := EinPensAlter;
      Eingabe.PA_Frauen.ItemIndex := EinPensAlter;
    end;
end;


{****************************************************************}
{ PROCEDURE : Tabelle einlesen                                  }
{                                                                }
{ AUFGABE: den Ausgabedatensatz von Access einlesen und anzeigen }
{****************************************************************}
procedure TEingabe.TabelleEinlesenClick(Sender: TObject);
begin
   // Bei Anklicken Dialog ausführen um Datenbank auszuwählen
   if OpenDialog.Execute then
                  EingangsdatenEinlesen() // procedure aus Unit Access
  else
         // Fehlermeldung
       MessageDlg(Format('FEHLER!%s Die Tabelle konnte nicht geöffnet werden! Bitte den Name des Tabellenblattes im Quellcode überprüfen!',[#13#10]), mtError, [mbCancel], 0);
end;

mkinzler 4. Mai 2006 08:15

Re: Fehler: Operator oder Semikolon fehlt
 
Schau mal Zeile 111 an

SubData 4. Mai 2006 08:16

Re: Fehler: Operator oder Semikolon fehlt
 
Wenn du auf die Fehlermeldung doppelklickst, an welche Position sprint er dann?

ksh 4. Mai 2006 08:19

Re: Fehler: Operator oder Semikolon fehlt
 
direkt auf
Delphi-Quellcode:
Exportieren();

dfried 4. Mai 2006 08:22

Re: Fehler: Operator oder Semikolon fehlt
 
Dein Button heisst auch "Exportieren", oder? Dann musst die die Funktion aus der Unit Access Qualifizieren, also "Access.Exportieren;"

ksh 4. Mai 2006 08:24

Re: Fehler: Operator oder Semikolon fehlt
 
bei Zeile 111 ist diese Funktion datumtostr. Sehe da aber keinen Fehler...

@dfried:
Super! Danke! das wars! hab es völlig vergessen, dass der Button genauso genannt ist! :-D

H4ndy 5. Mai 2006 11:19

Re: Fehler: Operator oder Semikolon fehlt
 
Was mir gerade aufgefallen ist:
Delphi-Quellcode:
procedure TEingabe.ExportierenClick(Sender: TObject);
begin
  // Speichern-Dialog bei Anklicken des Buttons ausführen
   if SaveDialog.Execute then
                  Ausgabetabelle(); // procedure aus Unit Access
  // Tabelle importieren (doppelte Angaben kopieren und einfügen)
  // procedure aus Unit Access
  DatenImportieren();
  // Daten berechnen und exportieren
  // procedure aus Unit Access
  Exportieren();
end;
Bist du dir sicher, dass es nicht
Delphi-Quellcode:
procedure TEingabe.ExportierenClick(Sender: TObject);
begin
  // Speichern-Dialog bei Anklicken des Buttons ausführen
  if SaveDialog.Execute then begin
     Ausgabetabelle(); // procedure aus Unit Access
    // Tabelle importieren (doppelte Angaben kopieren und einfügen)
    // procedure aus Unit Access
    DatenImportieren();
    // Daten berechnen und exportieren
    // procedure aus Unit Access
    Exportieren();
  end;
end;
lauten sollte?

Wenn du den Speichern-Dialog abbrichst, wird bei deiner Version trotzdem DatenImportieren() und Exportieren() ausgeführt.

ksh 5. Mai 2006 11:51

Re: Fehler: Operator oder Semikolon fehlt
 
Zuerst hast du mich etwas stutzig gemacht, aber das passt schon so!

Bei der procedure Ausgabetabelle wird der Fehler abgefangen - ich kann ja keine Daten importieren oder exportieren, wenn das Tabellenblatt nicht existiert! :wink:

Trotzdem danke fürs mitdenken!


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:41 Uhr.
Seite 1 von 2  1 2      

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