Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Array in TStringList (https://www.delphipraxis.net/137889-array-tstringlist.html)

aaaaaaaaaa_10 30. Jul 2009 13:51


Array in TStringList
 
Hallo,
ich möchte mein Array (ValueArray; bestehend aus einer zeile) in eine TStringList (hier : Min) einfügen/kopieren.

Delphi-Quellcode:
 Min.Add(DatUhr+//ValueArray//));
Ich weiß leider net genau wie ich das da komplett reinkriege. :cry:

himitsu 30. Jul 2009 14:03

Re: Array in TStringList
 
Du willst also den Inhalt des ersten Feödes deines Arrays als Text dort einfügen?
Oder doch das Array als Referenz?

zu 1. (exclusive Bereichsprüfung):
Delphi-Quellcode:
Min.Add(DatUhr + ValueArray[0]);

mkinzler 30. Jul 2009 14:04

Re: Array in TStringList
 
Rate mal warum das StringList heisst

aaaaaaaaaa_10 30. Jul 2009 14:06

Re: Array in TStringList
 
Delphi-Quellcode:
Min.Add(DatUhr + ValueArray[0]);
führt bei mir zu
Inkompatible Typen: 'String' und 'dynamic array'

Ich möchte ValueArray[i,0] in eine StringList einfügen. Also nicht nur [0,0]

Edit : Die Werte der Array Felder müssen zu Strings werden. Löst aber nicht mein Problem,oder?

himitsu 30. Jul 2009 14:10

Re: Array in TStringList
 
Zitat:

Zitat von aaaaaaaaaa_10
Ich möchte ValueArray[i,0] in eine StringList einfügen. Also nicht nur [0,0]

erstmal hast du nix davon gesagt, daß es sich um ein Mehrdimensionales Array handelt,
auserdem weder um was es sich bei deinem Array handelt (wie es aufgebaut ist und welchen Typ es hat)

dann wirst du also das passende Array-Element auswählen und den Inhalt umwandeln müssen.
Delphi-Quellcode:
Min.Add(DatUhr + irgendwasToString(ValueArray[i, 0]));
z.B. IntToStr für ein Array of Integer

aaaaaaaaaa_10 30. Jul 2009 14:17

Re: Array in TStringList
 
Zitat:

erstmal hast du nix davon gesagt, daß es sich um ein Mehrdimensionales Array handelt,
auserdem weder um was es sich bei deinem Array handelt (wie es aufgebaut ist und welchen Typ es hat)
Delphi-Quellcode:
ValueArray: array of array of real;
(global deklaríert)

ich dachte auch erst an eine Schleife
Delphi-Quellcode:
for i := 0 to ((Spaltenanzahl*3)-1) do
        Min.Add(DatUhr+(floattostr(ValueArray[i,0]))+#9);
Aber so hängt er mir das ganze immer wieder hinten ran. anstatt die werte nebeneinander zu schreiben

mkinzler 30. Jul 2009 14:21

Re: Array in TStringList
 
Das was ich heute morgen gesagt habe gilt nach wie vor: Befasse dich mal mit den Grundlagen!
Zudem hilft es ungemein alle Fakten zu nennen!

Klaus01 30. Jul 2009 14:21

Re: Array in TStringList
 
Zitat:

Zitat von aaaaaaaaaa_10
Zitat:

erstmal hast du nix davon gesagt, daß es sich um ein Mehrdimensionales Array handelt,
auserdem weder um was es sich bei deinem Array handelt (wie es aufgebaut ist und welchen Typ es hat)
Delphi-Quellcode:
ValueArray: array of array of real;
(global deklaríert)

ich dachte auch erst an eine Schleife
Delphi-Quellcode:
for i := 0 to ((Spaltenanzahl*3)-1) do
        Min.Add(DatUhr+(floattostr(ValueArray[i,0]))+#9);
Aber so hängt er mir das ganze immer wieder hinten ran. anstatt die werte nebeneinander zu schreiben


Schleife ist doch gar nicht so verkehrt.
Nur schlage mal in der Hilfe nach was TStringList.add macht?
(eine neue Zeile anhängen).
Du solltest dann vorher alles was Du in eine Zeile haben willst
in einen temporären String speichern und den dann in die StringList speichern.

Warum Spaltenzahl *3 ???

Grüße
Klaus

aaaaaaaaaa_10 30. Jul 2009 14:27

Re: Array in TStringList
 
Zitat:

Warum Spaltenzahl *3 ???
Weil ich pro Spalte 3 ArrayFelder habe

EDIT :
Delphi-Quellcode:
 i := 0; j := 1; k:= 3;
        while k <= ((Spaltenanzahl*4)-1) do
        begin
           Stringvar := Stringvar + floattostr(ValueArray[i,0])+#9+
                                    floattostr(ValueArray[j,0])+#9+
                                    floattostr(ValueArray[k,0])+#9;
           i := i+4; j := j+4; k := k+4;
        end;

        Min.Add(DatUhr + Stringvar);
Habs damit hinbekommen.

himitsu 30. Jul 2009 14:39

Re: Array in TStringList
 
füge erstmal alles (des Arrays) in einem temporären String zusammen und übergib dann den kompletten String an die StringList

[add]
Stringvar vor der Schleife sicherheitshalber mit Stringvar := ''; initialisieren.


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