Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Identifier expected (https://www.delphipraxis.net/170602-identifier-expected.html)

euromode 25. Sep 2012 14:40

Datenbank: MySQL • Version: 2005 • Zugriff über: ?

Identifier expected
 
hallo zusammen,

bin ein totaler neuanfänger was das programmieren angeht.

mein problem besteht darin;

es soll eine abfrage von der datenbank erstellt werden, die dann in eine excel datei geschrieben wird.

Am ende kommt diese fehlermeldung
Code:
Compiling
Compiler: [Error] (99:1): Identifier expected
Compiling failed
Hab hier auch mal den text, für jede kleine hilfe bin ich im voraus schon sehr dankbar.

Code:
program abfrage;
const CRLF = #13+#10;
var
  XlsApp, XlsWorkBook, XlsWorksheet: variant;
  cNETTOEINZEL,nAbZeile,i:integer;
  cGUID,cAUFNR,cBestellt,Verzeichnis,Dateiname,cARTNR:string;
  nBestellt,nNettoEinzel:currency;
  oDialog:TUDFDialog;
begin

  oDialog := TUDFDialog.Create;
  try
 
    oDialog.AddField('AUFNR.','AUFNR.',ftString,True,True,'',0);
   
    if oDialog.Execute then
    begin
           cAUFNR := oDialog.GetFieldValue('AUFNR.');
        oQuery.SQL.Text := 'SELECT kopfguid FROM kopf WHERE UPPER(AUFNR) LIKE UPPER ('+quotedstring(cAUFNR)+')';
        oQuery.Open;
        if oQuery.RecordCount = 1 then
        begin
          cGUID := oQuery.Fields.Fields[0].AsString;
        end
        else
        if oQuery.RecordCount > 1 then
        begin
          ShowMeldung('Mehr als 1 Ergebnis zu dieser Rechnungsnummer');
          exit;
        end
        else
        begin
          ShowMeldung('Rechnungsnummer: '+cAUFNR+' nicht gefunden!');
          exit;
        end
    end;
     

  Verzeichnis := '\D:\test\';
  Dateiname  := '123.xls';
 
  // Geschrieben wird ab Zeile 16 (in der ersten stehen die Überschriften)
  nAbZeile := 16;
 
  // Wir starten Excel im Hintergrund
  Dateiname := Verzeichnis + Dateiname;
 
  // Existiert die Datei?
  if not FileExists(Dateiname) then
  begin
    Dateiname := OpenDialog('Excel *.xls|*.xls','Exportdatei wählen');

    if not FileExists(Dateiname) then
    begin
      ShowMeldung('Die Datei : '+Dateiname+' ist nicht vorhanden!');
      exit;
    end;
  end;    
 
 
   XlsApp := CreateOleObject('Excel.Application');
  try
  XlsApp.Visible := False;
  XlsWorkbook := XlsApp.Workbooks.Open(Dateiname, True, False);
  XlsWorkbook := XlsApp.Workbooks[1];
  XlsWorksheet := Xlsworkbook.Worksheets[1];  
                                                                                        //(postyp in (1,2)) AND
    oQuery.SQL.Text := 'SELECT ARTNR, Bestellt, NETTOEINZEL,zeilenid FROM position WHERE kopfguid = '+quotedstring(cGUID)+' ORDER BY zeilenid';
    oQuery.Open;
    while not oQuery.eof do
    begin
      cARTNR := oQuery.Fields.Fields[0].Asstring;
      nBestellt := oQuery.Fields.Fields[1].AsCurrency;
      nNETTOEINZEL := oQuery.Fields.Fields[2].AsCurrency;
     
     
      //writeln(cARTNR);
     
     
      i:= nAbZeile;
       
      XlsWorksheet.Cells[i,'A'].Value := cARTNR;
      XlsWorksheet.Cells[i,'B'].Value := nBestellt;
      XlsWorksheet.Cells[i,'C'].Value := nNETTOEINZEL;  
     
      oQuery.Next;
     
      i:= i +1;
   
    end;
   
    //application.processmessages;
    finally
      begin
        oDialog.Free;
      end;
    end;
     
end.

MacGuyver 25. Sep 2012 15:04

AW: Identifier expected
 
Moin,

die Zeilennummern währen nicht schlecht.
Ist hinter dem finally das Problem? Da setzt man kein "begin".
Verschiebe das alles lieber in eine Funktion und halte den Aufruf ganz unten knapp.

DeddyH 25. Sep 2012 15:07

AW: Identifier expected
 
Die uses-Klausel fehlt wohl auch, die ganzen Datentypen inkl. Dialog sind ja kaum in System.pas deklariert.

euromode 25. Sep 2012 15:43

AW: Identifier expected
 
Zitat:

die Zeilennummern währen nicht schlecht.
Ist hinter dem finally das Problem? Da setzt man kein "begin".
Verschiebe das alles lieber in eine Funktion und halte den Aufruf ganz unten knapp.
in anderen foren übernimmt er die Zeilennummern, also er zeigt den fehler in der letzten zeile an.


Zitat:

Die uses-Klausel fehlt wohl auch, die ganzen Datentypen inkl. Dialog sind ja kaum in System.pas deklariert.
es ist ein warenwirtschaftssystem aus dem die daten geschrieben werden sollen und es ist mit delphi/pascal geschrieben, das script wird mit einem UDF Editor erstellt

nuclearping 25. Sep 2012 16:15

AW: Identifier expected
 
Deddy meint, dass Delphi keine Sachen wie TUDFDialog kennt, ohne entsprechende Unit. Auch für Zugriffe auf OLE-Objekte müssen entsprechende Units eingebunden werden. Weiterhin fehlt in deinem Code zB auch die Deklaration für oQuery.


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