![]() |
Feld aus Memokomponente in Excel einfügen
Hallo zusammen!
Ich schreibe hier ein Berechnungsprogramm das mir jetzt Zwischenergebnisse in ein Excel-Sheet ausgeben soll. (von einem Feld aus ner Memo Komponente) Hab mich hier schon durch sämtliche Beiträge gekämpft, jedoch nix gefunden... Hier mal die ungefähre Form die ich mir dabei vorgestellt habe: procedure ... var oleArray: OleVariant; i,n:integer; begin n:=Memobox1.lines.count; for i=0 to n-1 do OleArray:=VarArrayCreate([0,n],varVariant); OleArray[i]:= Memobox1.lines; ExcelWorksheet1.Range['B3','En'].Value:=OleArray; end; Nehme jede Hilfe entgegen und bedanke mich schonmal! Gruß Kevin |
Re: Feld aus Memokomponente in Excel einfügen
bin jetzt ein Stück weiter.
type Feld=array[0..255] of real; procedure ButtonBla var oleArray: OleVariant; i,n:integer; f:Feld; begin n:=Memobox1.lines.count; for i=0 to n-1 do f[i]:=StrToFloat(Form1.memo1.lines[i]); OleArray:=VarArrayCreate([0,n-1],varVariant); for i=0 to n-1 do begin OleArray[i]:=f[i]; end; ExcelWorksheet1.range['A1','A20'].value:=OleArray; |
Re: Feld aus Memokomponente in Excel einfügen
Hallo,
du kannst dir eine Schleife sparen:
Delphi-Quellcode:
Ach ja, verwende bitte die Delphi-Tags. So lässt sich ein Quell-Text besser lesen.
type Feld = array[0..255] of real;
procedure TForm1.Button1Click(Sender: TObject); var oleArray: OleVariant; i, n : Integer; f : Feld; begin n := Memobox1.lines.count; OleArray := VarArrayCreate([0, n - 1], varVariant); for i := 0 to n - 1 do begin f[i] := StrToFloat(Form1.memo1.lines[i]); OleArray := f[i]; end; ExcelWorksheet1.range['A1', 'A20'].value := OleArray; //<-- müsste es nicht "Value2" heissen? end; |
Re: Feld aus Memokomponente in Excel einfügen
Hallo Helmi,
danke das Du trotzdem geantwortet hast... meine Schleife hatte nur auf den ersten Blick einen sinnvolles Ergebnis. ;-) Glaube ich komme mit dem Feld Typ nicht hin...
Delphi-Quellcode:
auch wenn ich den in Deine Schleife unten einbinde schreibt er mir nur 20 mal den letzten Wert auf. Und wenn ich mehrere Boxen übernehmen möchte bekomme ich weitere Probleme... ???
for i := 0 to n - 1 do
begin f[i] := StrToFloat(Form1.memo1.lines[i]); OleArray := f[i]; end; |
Re: Feld aus Memokomponente in Excel einfügen
Versuchs doch mal so:
Delphi-Quellcode:
for i := 0 to n - 1 do
begin f[i] := StrToFloat(Memo1.Lines.Strings[i]); //<<-- Änderung OleArray := f[i]; end; |
Re: Feld aus Memokomponente in Excel einfügen
nix
Ich denke bei "oleArray: OleVariant;" liegt das Problem. Es schimpft sich zwar Array, aber ist wohl wie bei savedialog nur für einen Wert und nicht für ne Schleife zu gebrauchen. Scheint ja die Schleife abzulaufen, aber ... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:50 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz