AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Keine dynamischen Arrays vom Typ TStringList möglich?
Thema durchsuchen
Ansicht
Themen-Optionen

Keine dynamischen Arrays vom Typ TStringList möglich?

Ein Thema von Bastler · begonnen am 27. Apr 2007 · letzter Beitrag vom 27. Apr 2007
Antwort Antwort
Seite 1 von 2  1 2      
Bastler

Registriert seit: 15. Aug 2006
153 Beiträge
 
Delphi 7 Personal
 
#1

Keine dynamischen Arrays vom Typ TStringList möglich?

  Alt 27. Apr 2007, 10:52
Ich habe folgenden Code:

Delphi-Quellcode:
 
var history:array of array of TStringList;
//...
   for k:=anfang to ende do
      begin
      History[i]:=TStringlist.Create; //1)
      History[i].lines.add:=(Richedit1.Lines.Strings[k]);
      SetLength(History,Length(History+1));
      end;
Aber der Kompiler sagt mir: Inkompatible Typen 'TStringList' und 'dynamic array' (bei 1) )...

Geht es einfach nicht, oder hab ich einfach etwas falsch gemacht, denn eigentlich sollte er doch schon oben bei der Variabeldeklaration n Fehler ausgeben, wenn es generell nicht geht...

Danke im Voraus
Zwei Dinge sind unendlich, das Universum und die menschliche Dummheit, aber beim Universum bin ich mir noch nicht ganz sicher
(A. Einstein)
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Keine dynamischen Arrays vom Typ TStringList möglich?

  Alt 27. Apr 2007, 10:53
Du hast auch ein 2-dimensionalen dynamischen Array
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Tormentor32
Tormentor32

Registriert seit: 27. Okt 2005
Ort: Düsseldorf
369 Beiträge
 
Delphi XE5 Professional
 
#3

Re: Keine dynamischen Arrays vom Typ TStringList möglich?

  Alt 27. Apr 2007, 10:57
history[x][y] := TStringlist.Create

wäre hier richtig

edit: Du brauchst dann auch ne doppelte for-schleife
Delphi-Quellcode:
for x := 0 to MaxX do
  for y := 0 to MaxX do
Richard Mahr
  Mit Zitat antworten Zitat
Bastler

Registriert seit: 15. Aug 2006
153 Beiträge
 
Delphi 7 Personal
 
#4

Re: Keine dynamischen Arrays vom Typ TStringList möglich?

  Alt 27. Apr 2007, 15:51

Danke, manchmal muss einfach nur wer anders mal einen Blick drauf werfen...
Zwei Dinge sind unendlich, das Universum und die menschliche Dummheit, aber beim Universum bin ich mir noch nicht ganz sicher
(A. Einstein)
  Mit Zitat antworten Zitat
Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#5

Re: Keine dynamischen Arrays vom Typ TStringList möglich?

  Alt 27. Apr 2007, 15:55
im übrigen sind auch sonst noch ein paar fehler drin:

FALSCH:
Delphi-Quellcode:
      History[i].lines.add:=(Richedit1.Lines.Strings[k]);
      SetLength(History,Length(History+1));
RICHTIG:
Delphi-Quellcode:
      History[i].lines.add(Richedit1.Lines.Strings[k]);
      SetLength(History,high(History)+2);
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: Keine dynamischen Arrays vom Typ TStringList möglich?

  Alt 27. Apr 2007, 15:59
Wieso "high(History)+2"?
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
Benutzerbild von DGL-luke
DGL-luke

Registriert seit: 1. Apr 2005
Ort: Bad Tölz
4.149 Beiträge
 
Delphi 2006 Professional
 
#7

Re: Keine dynamischen Arrays vom Typ TStringList möglich?

  Alt 27. Apr 2007, 16:08
Die zwei Codestücke sind praktisch identisch. Nur wird die Variante mit "Length" langsamer sein.
Lukas Erlacher
Suche Grafiktablett. Spenden/Gebrauchtangebote willkommen.
Gotteskrieger gesucht!
For it is the chief characteristic of the religion of science that it works. - Isaac Asimov, Foundation I, Buch 1
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#8

Re: Keine dynamischen Arrays vom Typ TStringList möglich?

  Alt 27. Apr 2007, 16:21
Zitat von DGL-luke:
Die zwei Codestücke sind praktisch identisch. Nur wird die Variante mit "Length" langsamer sein.
Wieso?
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
dominikkv

Registriert seit: 30. Sep 2006
Ort: Gundelfingen
1.109 Beiträge
 
Delphi 2007 Professional
 
#9

Re: Keine dynamischen Arrays vom Typ TStringList möglich?

  Alt 27. Apr 2007, 16:37
Zitat von 3_of_8:
Wieso "high(History)+2"?
weil length-1 = high
Dominik
  Mit Zitat antworten Zitat
MStoll

Registriert seit: 15. Nov 2005
131 Beiträge
 
Turbo Delphi für Win32
 
#10

Re: Keine dynamischen Arrays vom Typ TStringList möglich?

  Alt 27. Apr 2007, 16:52
hi

ja und warum soll der Ausdruck length(History)-1+2 schneller sein als length(History) + 1? Da kommt eher noch der Overhead der Funktion High hinzu...

Korrigiert mich, wenn ich mich irre, aber soweit ich weiß, steht einige Bytes vor dem "Beginn" eines dynamischen Arrays die Länge als Zahl drin und da müsste doch das Auslesen einer Zahl und dann die Addition von 1 schneller sein als das Auslesen + Overhead für High + Substraktion von 1 + Addition von 2, oder?

Gruß
Michael
"Man soll nie mehr essen als mit Gewalt reingeht!" (n.n.)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 05:57 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