AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Algorithmen, Datenstrukturen und Klassendesign Excel erzeigen mit SwissDelphiCenter code geht nicht

Excel erzeigen mit SwissDelphiCenter code geht nicht

Ein Thema von hedie · begonnen am 1. Dez 2011 · letzter Beitrag vom 6. Dez 2011
Antwort Antwort
Seite 2 von 2     12
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
40.504 Beiträge
 
Delphi 11 Alexandria
 
#11

AW: Excel erzeigen mit SwissDelphiCenter code geht nicht

  Alt 1. Dez 2011, 21:21
siehe Bummi ... der macht es richtig.

Delphi-Quellcode:
procedure TfrmMain.FormCreate(Sender: TObject);
const Test: array[0..1] of Byte = ($08, $FF);
begin
  Test[0] := 10;
end;
Test ist, wenn die zuweisbaren Konstanten aktiviert sind, eine kranke und unübersichtliche Version von globalen Variablen.

Const in Var zu ändern bringt da nichts, da dieses dann nur eine "lokale" Variable ergäbe.

Typisierte Konstanten sind halt "nur" schreibgeschützte Variablen ... "sinnloser" Weise


Was ist erzeigen?
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list

Geändert von himitsu ( 1. Dez 2011 um 21:24 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
40.504 Beiträge
 
Delphi 11 Alexandria
 
#12

AW: Excel erzeigen mit SwissDelphiCenter code geht nicht

  Alt 2. Dez 2011, 00:32
Leute ab D2009 (wegen Generics) können ja gerne mal dieses ausprobieren.
Wie man es nutzt, sollte hoffentlich ersichtlich sein.

Wenn es läuft, dann läßt sich bestimmt auch noch eine Version ohne die bösen Generics erstellen.


noch vollkommen ungetestet ... ich hof' ich hab alles richtig übersetzt und richtig neu zusammengesetzt
Angehängte Dateien
Dateityp: pas ExcelFile.pas (13,8 KB, 37x aufgerufen)
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.459 Beiträge
 
Delphi 11 Alexandria
 
#13

AW: Excel erzeigen mit SwissDelphiCenter code geht nicht

  Alt 2. Dez 2011, 08:05
Ist es nicht so, dass die Arrays konstant sind, aber ihr Inhalt deswegen doch noch lange nicht?!
Darauf habe ich mich bezogen, unabhängig von "richtig" oder "falsch". Obige Aussage trifft also nur zu, wenn die zuweisbaren typisierten Konstanten aktiviert sind.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#14

AW: Excel erzeigen mit SwissDelphiCenter code geht nicht

  Alt 2. Dez 2011, 08:14
@himitsu

Bei mir geht weder Laden einer vorhanden, noch das Speichern einer neuen, ich habe es so versucht:
Delphi-Quellcode:
var
e:TExcelCreator;
begin
     e :=TExcelCreator.Create(self);
     //e.LoadFromFile('C:\temp\test1.xls');
     e.Cell[1,1]:='Was auch immer'#13#10'in zweiZeilen';
     e.Cell[2,2]:=1234.5678;
     e.SaveToFile('C:\temp\test.xls');
     e.Free;
end;
BTW: warum hast Du von TComponent abgeleitet?
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
Benutzerbild von Chemiker
Chemiker

Registriert seit: 14. Aug 2005
1.855 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#15

AW: Excel erzeigen mit SwissDelphiCenter code geht nicht

  Alt 2. Dez 2011, 14:13
Hallo,


vielleicht hilft das weiter:http://www.delphipraxis.net/95460-st...speichern.html

Bis bald Chemiker
wer gesund ist hat 1000 wünsche wer krank ist nur einen.
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#16

AW: Excel erzeigen mit SwissDelphiCenter code geht nicht

  Alt 2. Dez 2011, 14:20
@Chemiker
danke, ich suche nicht, ich wollte himitsu nur eine Rückmeldung geben
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
40.504 Beiträge
 
Delphi 11 Alexandria
 
#17

AW: Excel erzeigen mit SwissDelphiCenter code geht nicht

  Alt 3. Dez 2011, 19:36
@Chemiker:
Im Prinzip ist das der gleiche Code, wie der hier schon im 1. Post Genannte, woraus ich meine Klasse erstellt hab.
Nur daß dein verlinker Code nur Strings kann, wärend dieser noch Integer und Floats kennt und daß man die Daten nochmals verändern kann, vor dem Speichern.


Bei mir geht weder Laden einer vorhanden, noch das Speichern einer neuen, ich habe es so versucht:

BTW: warum hast Du von TComponent abgeleitet?
Joar, wenn man (ich) so blöd ist und die Cell-Info in TExcelCreator.SetVarCell, nach dem erfolgreichen Speichern, wieder mit Zufallswerten zu überschreiben
und dann auch noch beim Abspeichern (SaveToFile) die falschen Anzahlen der Rows und Cols verwendet (beim Auslesen mit <= statt => gesucht),
dann braucht man sich nicht wundern.


Nja, wir leben halt in einer KlickbuntiOOPWelt ... drum ist das schon so ausgelegt, daß man diese Komponente irgendwann mal auf der Toolpalette in die Form klatschen kann.



PS: Bitte nicht über die OutputDebugStrings im Code wundern.
Das Schreiben scheint nun zu gehn, jedenfalls mit dem ersten Teil dieses Codes.
Delphi-Quellcode:
var
  E: TExcelCreator;
begin
  E := TExcelCreator.Create(nil);
  E.Cell[1,1] := 'Was auch immer'#13#10'in zweiZeilen';
  E.Cell[2,2] := 1234.5678;
  E.SaveToFile('C:\Users\Frank\Desktop\ExcelFile.xls');
  E.Free;

  E := TExcelCreator.Create(nil);
  E.LoadFromFile('C:\Users\Frank\Desktop\ExcelFile.xls');
  E.Cell[2,1] := 'noch mehr';
  E.SaveToFile('C:\Users\Frank\Desktop\ExcelFile2.xls');
  E.Free;
Aber beim Auslesen der selbsterstellten Datei hapert es noch.
Auch wenn es eventuell oftmals nicht geht fremde Dateien einzulesen, aber die eigenen sollten schon noch gehn (irgendwann mal).

OK, vielleicht bekommt noch jemand raus, wie man mehrzeilig in eine Spalte rein macht.



Nja, also im Prinzip ist dieses alte Binärformat doch recht einfach ufgebaut.
Eventuell könnte man sich ja auch mal ansehn, wie das neue gezippte XML-Format aussieht.


[edit]
So, jetzt geht's Speichern, des Auslesen und beim auslesen hab ich versucht noch ein bissl flexiebler zu sein, was Fremddateien angeht.
Da ich aber nur einen kleinen Teil der Spezifikation drin hab und es auch nicht angedacht ist alles aufzunehmen, wird auch niemals alles unterstützt werden, aber hier geht's ja mehr ums Erstellen der Datei, als ums Einlesen.

PS: Über mein Excel hab ich grade rausgefunden, daß es sich bei dieser Datei um ein "Arbeitsblatt/Workssheet in der uralten Version 2" handelt.
Miniaturansicht angehängter Grafiken
excel.png  
Angehängte Dateien
Dateityp: pas ExcelFile.pas (14,7 KB, 22x aufgerufen)
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list

Geändert von himitsu ( 3. Dez 2011 um 20:59 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
40.504 Beiträge
 
Delphi 11 Alexandria
 
#18

AW: Excel erzeigen mit SwissDelphiCenter code geht nicht

  Alt 4. Dez 2011, 13:23
- Alles etwas aufgeräumt
- die OldStyle-Variante läuft hoffentlich in älteren Delphi-Versionen
- die anderen beiden Units sind vermutlich ab D2009 nutzbar (nja, zumindestens in D2010 getestet)
- XE2 nicht getestet und vermutlich auch nicht direkt compilierbar, dank der neuen Namensgebung der RTL-Units
- mit StringGrid-Exporter, Importer und eventuell auch für die TStringGrid-Nachfahren, wie TDBGrid
Angehängte Dateien
Dateityp: 7z ExcelFile.7z (7,2 KB, 31x aufgerufen)
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list

Geändert von himitsu ( 4. Dez 2011 um 13:25 Uhr)
  Mit Zitat antworten Zitat
Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.717 Beiträge
 
Delphi 6 Enterprise
 
#19

AW: Excel erzeigen mit SwissDelphiCenter code geht nicht

  Alt 6. Dez 2011, 08:22
OK, vielleicht bekommt noch jemand raus, wie man mehrzeilig in eine Spalte rein macht.
Das ist ja afaik keine Sache "wie der String aufgebaut ist" bzw. wie der Zeilenumbruch erzeugt wird, sondern in Excel ist das eine zusätzliche Einstellung, dass für eine bestimmte Zelle der Zeilenumbruch aktiviert ist. Keine Ahnung wie man das in den Binaries erkennt.
Ralph
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:00 Uhr.
Powered by vBulletin® Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf