Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   Excel erzeigen mit SwissDelphiCenter code geht nicht (https://www.delphipraxis.net/164833-excel-erzeigen-mit-swissdelphicenter-code-geht-nicht.html)

hedie 1. Dez 2011 18:09

Excel erzeigen mit SwissDelphiCenter code geht nicht
 
Hallo zusammen

Ich möchte gerne eine simple Excel Datei mit dem Code von hier erzeugen:

http://www.swissdelphicenter.ch/de/showcode.php?id=725

Das erste was mir aufgefallen ist, der Code versucht in beinahe jeder Funktion in eine Konstante zu schreiben...
Das kann ja nicht funktionieren... So war es dann auch.

Ich habe dann die vermeindlichen Konstanten als Variablen definiert und dann konnte ich das Programm erzeugen.

Doch ein Excel wurde daraus nicht. Es waren irgendwelche kryptische zeichen zu sehen wenn man die Datei mit Excel geöffnet hat.

Ich hoffe jemand sieht wo hier der Haken ist :)

Danke schonmal
Grüsse

fkerber 1. Dez 2011 18:13

AW: Excel erzeigen mit SwissDelphiCenter code geht nicht
 
Hi,

benutzt du D2007 wie im Profil angegeben oder ist es vllt. ein Unicode-Problem?

Außerdem glaube ich das mit den Konstanten nicht direkt.
Ist es nicht so, dass die Arrays konstant sind, aber ihr Inhalt deswegen doch noch lange nicht?!


LG, Frederic

hedie 1. Dez 2011 18:17

AW: Excel erzeigen mit SwissDelphiCenter code geht nicht
 
Ja ich benutze D2007 so wie angegeben....

Delphi mekkert immer "der linken seite kann nichts zugewiesen werden" wenn ich es als konstante deklariere

DeddyH 1. Dez 2011 18:18

AW: Excel erzeigen mit SwissDelphiCenter code geht nicht
 
Mal schnell mit XE probiert:
Delphi-Quellcode:
procedure TfrmMain.FormCreate(Sender: TObject);
const Test: array[0..1] of Byte = ($08, $FF);
begin
  Test[0] := 10;
end;
Das akzeptiert der Compiler nur, wenn "Zuweisbare typisierte Konstanten" aktiv ist (z.B. in den Projektoptionen).

hedie 1. Dez 2011 18:26

AW: Excel erzeigen mit SwissDelphiCenter code geht nicht
 
Zitat:

Zitat von DeddyH (Beitrag 1138850)
Mal schnell mit XE probiert:

Das akzeptiert der Compiler nur, wenn "Zuweisbare typisierte Konstanten" aktiv ist (z.B. in den Projektoptionen).

Hat dies einen Einfluss auf das restliche Programm, oder kann man dies getrost einfach setzen?

DeddyH 1. Dez 2011 18:48

AW: Excel erzeigen mit SwissDelphiCenter code geht nicht
 
AFAIK geht das auch im Programm per Compilerschalter ein- und auszustellen, aber ich hab den gerade nicht im Kopf.

daywalker9 1. Dez 2011 18:52

AW: Excel erzeigen mit SwissDelphiCenter code geht nicht
 
Delphi-Quellcode:
{$J+}

Bummi 1. Dez 2011 18:52

AW: Excel erzeigen mit SwissDelphiCenter code geht nicht
 
einfach mal VAR statt Const d'rüberschreiben ?

Sir Rufo 1. Dez 2011 20:05

AW: Excel erzeigen mit SwissDelphiCenter code geht nicht
 
Zitat:

Zitat von Bummi (Beitrag 1138858)
einfach mal VAR statt Const d'rüberschreiben ?

Das geht nicht ;)
Delphi-Quellcode:
procedure TfrmMain.FormCreate(Sender: TObject);
var Test: array[0..1] of Byte = ($08, $FF); // hier meckert der Compiler
begin
**Test[0] := 10;
end;

Bummi 1. Dez 2011 20:14

AW: Excel erzeigen mit SwissDelphiCenter code geht nicht
 
ich bezog mich auf den Originalcode
Delphi-Quellcode:
const
  CXlsBof: array[0..5] of Word = ($809, 8, 00, $10, 0, 0);
  CXlsEof: array[0..1] of Word = ($0A, 00);
  CXlsLabel: array[0..5] of Word = ($204, 0, 0, 0, 0, 0);
  CXlsNumber: array[0..4] of Word = ($203, 14, 0, 0, 0);
  CXlsRk: array[0..4] of Word = ($27E, 10, 0, 0, 0);
hier sind es keine lokalen Variablen/Konstanten


das hier läuft ..
Delphi-Quellcode:
var Test: array[0..1] of Byte = ($08, $FF);

procedure TForm2.FormCreate(Sender: TObject);
begin
  Test[0] := 10;
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:11 Uhr.
Seite 1 von 3  1 23      

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