Italian community of Lazarus and Free Pascal

Programmazione => Generale => Topic aperto da: nicola.nicoletti - Gennaio 09, 2013, 01:52:39 pm

Titolo: [Risolto]Problema fpc: Fatal: Syntax error, "identifier" expected
Inserito da: nicola.nicoletti - Gennaio 09, 2013, 01:52:39 pm
Buon giorno
Ho la necessita di fare una applicazione che legga file in formato 2010.
La soluzione che ho intenzione di usare è quella di OLE.
Ho fatto questa piccola applicazione:

rocedure TForm1.Button1Click(Sender: TObject);

Var   XLApp,XLSHEET: OLEVariant;

      lastrow : integer;

begin
  XLApp := CreateOleObject('Excel.Application'); // requires comobj in uses
 try
   XLApp.Visible := False;         // Hide Excel
   XLApp.DisplayAlerts := False;
   if not OpenDialog1.Execute then exit;

   XLApp.Workbooks.Open(OpenDialog1.FileName);
   XLSHEET :=  XLApp.Workbooks.Sheets(0).Select;
   lastrow:= XLSHEET.Range('A65536').End(xlUp).Row;
  finally
 end;       
 end;             

Il compilatore va in errore su XLSHEET.Range('A65536').End(xlUp).Row;

dicendomi
unit1.pas(48,38) Fatal: Syntax error, "identifier" expected but "END" found

Non essendoci altri modi gratuiti per interagire con file excel 2010 su fpc , qualche anima buona mi può dire come posso eludere l'errore oppure aggirarlo
Ho provato a cambiare le partensi rotonde in quadrate , come in vba, ma ho sempre lo stesso problema.
Grazie
Titolo: Re:Problema con il compilatore fpc: Fatal: Syntax error, "identifier" expected but
Inserito da: Stilgar - Gennaio 09, 2013, 02:04:23 pm
End è una parola chiave del linguaggio...
Sicuro che non esistano versioni gratuite?
Hai verificato con fpspreadsheet?

http://wiki.freepascal.org/FPSpreadsheet
Titolo: Re:Problema con il compilatore fpc: Fatal: Syntax error, "identifier" expected but
Inserito da: Microges2000 - Gennaio 09, 2013, 02:51:13 pm
Vedi qui' se ti puo' aiutare http://edn.embarcadero.com/article/10128
Titolo: Re:Problema con il compilatore fpc: Fatal: Syntax error, "identifier" expected but
Inserito da: nicola.nicoletti - Gennaio 09, 2013, 03:41:42 pm
End è una parola chiave del linguaggio...
Sicuro che non esistano versioni gratuite?
Hai verificato con fpspreadsheet?

http://wiki.freepascal.org/FPSpreadsheet


Ciao
Ho già provato FPSpreadsheet ed utilizzato  ma posso scrivere file excel 97/2003 .
Posso leggere e scrivere su excel ed inserire formule .
A me serve qualcosa che mi generi file 2010 ed mi permetta di inserire delle pivot.
Prodotti professionali che fanno questo mestiere esistono , tipo tms flexcel studio che ora non supportano lazarus 1.0x e non è gratuito.
Flexcel ha supportato in vecchie versioni lazarus.
Titolo: Re:Problema con il compilatore fpc: Fatal: Syntax error, "identifier" expected but
Inserito da: nicola.nicoletti - Gennaio 09, 2013, 03:43:59 pm
Vedi qui' se ti puo' aiutare http://edn.embarcadero.com/article/10128

Ciao
Su delphi/Rad studio su oggetti variant non controlla se vengono usate parole riservate.
Peccato che devo usare Lazarus
Titolo: Re:Problema con il compilatore fpc: Fatal: Syntax error, "identifier" expected but
Inserito da: Stilgar - Gennaio 09, 2013, 03:55:03 pm
End è una parola chiave del linguaggio...
Sicuro che non esistano versioni gratuite?
Hai verificato con fpspreadsheet?

http://wiki.freepascal.org/FPSpreadsheet


Ciao
Ho già provato FPSpreadsheet ed utilizzato  ma posso scrivere file excel 97/2003 .
Posso leggere e scrivere su excel ed inserire formule .
A me serve qualcosa che mi generi file 2010 ed mi permetta di inserire delle pivot.
Prodotti professionali che fanno questo mestiere esistono , tipo tms flexcel studio che ora non supportano lazarus 1.0x e non è gratuito.
Flexcel ha supportato in vecchie versioni lazarus.
Questo file permette di scrivere in formato "open office". Il 2010 supporta questo formato (dopo la sentenza che ha obbligato microsoft a farlo).
https://lazarus-ccr.svn.sourceforge.net/svnroot/lazarus-ccr/components/fpspreadsheet/xlsxooxml.pas

Non va bene?
Non uso le tabelle pivot, per cui non so se puoi usare un template pronto e modificarlo via programma.
In questo modo potresti avere pure un grado di configurazione non male ;)
Titolo: Re:Problema con il compilatore fpc: Fatal: Syntax error, "identifier" expected but
Inserito da: nicola.nicoletti - Gennaio 10, 2013, 10:42:45 am
End è una parola chiave del linguaggio...
Sicuro che non esistano versioni gratuite?
Hai verificato con fpspreadsheet?

http://wiki.freepascal.org/FPSpreadsheet


Ciao
Ho già provato FPSpreadsheet ed utilizzato  ma posso scrivere file excel 97/2003 .
Posso leggere e scrivere su excel ed inserire formule .
A me serve qualcosa che mi generi file 2010 ed mi permetta di inserire delle pivot.
Prodotti professionali che fanno questo mestiere esistono , tipo tms flexcel studio che ora non supportano lazarus 1.0x e non è gratuito.
Flexcel ha supportato in vecchie versioni lazarus.
Questo file permette di scrivere in formato "open office". Il 2010 supporta questo formato (dopo la sentenza che ha obbligato microsoft a farlo).
https://lazarus-ccr.svn.sourceforge.net/svnroot/lazarus-ccr/components/fpspreadsheet/xlsxooxml.pas

Non va bene?
Non uso le tabelle pivot, per cui non so se puoi usare un template pronto e modificarlo via programma.
In questo modo potresti avere pure un grado di configurazione non male ;)

Grazie Stilgar ,
mi hai dato una bella idea, ti sono debitore
Ciao
Titolo: Re:Problema con il compilatore fpc: Fatal: Syntax error, "identifier" expected but
Inserito da: nicola.nicoletti - Gennaio 10, 2013, 01:37:42 pm
 :D

Sul forum di lazarus mi hanno suggerito come risolvere.
Bisogna mettere & prima della parola riservata END per eludere il controllo del compilatore.
Ho provato e funziona
Titolo: Re:Problema con il compilatore fpc: Fatal: Syntax error, "identifier" expected but
Inserito da: Stilgar - Gennaio 10, 2013, 01:38:34 pm
"&" -> "&End" ...
Non conosco questa sintassi.
Titolo: Re:[Risolto]Problema fpc: Fatal: Syntax error, "identifier" expected
Inserito da: nicola.nicoletti - Gennaio 10, 2013, 01:43:14 pm
SE cambi in  XLSHEET.Range('A65536').&End(-4162.).Row lo compila
Ti riporto la citazione


FPC allows redefinition of Pascal reserved words by prepending an & to the word.
So it may be that substituting &end would work?
It's worth a try.
Titolo: Re:[Risolto]Problema fpc: Fatal: Syntax error, "identifier" expected
Inserito da: Legolas - Gennaio 10, 2013, 01:52:20 pm
Avrei dovuto pensarci: è una nuova feature di fpc che in qualche occasione ho anche utilizzato...  ::)
Titolo: Re:[Risolto]Problema fpc: Fatal: Syntax error, "identifier" expected
Inserito da: Stilgar - Gennaio 10, 2013, 01:54:07 pm
Carina come cosa. ;)
E soprattutto utile :D