Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Lines in einem Memofeld bestimmen (https://www.delphipraxis.net/41129-lines-einem-memofeld-bestimmen.html)

whiteshark 26. Feb 2005 14:50


Lines in einem Memofeld bestimmen
 
Moin Leute,

:wall: Ich habe ein Problem. Wir sollen ein Programm schreiben, dass alle Sortieralgorithmen miteinander vergleicht. Nun will ich mit einem Button 65000 Zufalls zahlen generieren, das geht aber net. Nun meine Frage, wie kann ich einem Memofeld sagen, dass es 65000 lines freigeben soll? Meine zweite Frage, wie kann ich etwas in eine Listbox schreiben bzw. auslesen?

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var a: array[1..n] of integer;
var i,j: integer;
begin
randomize;

for i:=1 to n do
        begin
        a[i]:=random(n+10);
        end;

for j:=1 to n do
        begin
        memo1.Lines[j-1]:=inttostr(a[j]);
        end;


end;
Ich hoffe mir kann jemand helfen.

Kidix 26. Feb 2005 14:52

Re: Lines in einem Memofeld bestimmen
 
memo1.Lines[j-1]:=inttostr(a[j]); durch memo1.lines.add(inttostr(a[j])) ersetzen...

jfheins 26. Feb 2005 14:54

Re: Lines in einem Memofeld bestimmen
 
Mach dir ne Globale variable
Delphi-Quellcode:
MyArray: Array[65000] of Byte;
dann ist der Zugriff auch schneller, als wenn du das mit nem Memo machst

Luckie 26. Feb 2005 14:55

Re: Lines in einem Memofeld bestimmen
 
Zitat:

Zitat von whiteshark
Nun will ich mit einem Button 65000 Zufalls zahlen generieren, das geht aber net.

Ich wüßte nicht, was da nicht funktionieren sollte. :roll:

Zitat:

Nun meine Frage, wie kann ich einem Memofeld sagen, dass es 65000 lines freigeben soll?
Was verstehst du unter freigeben? :gruebel:

Einfügen tut man eine Zeile mit:
Delphi-Quellcode:
Memo1.Lines.Add('foo');
Zitat:

Meine zweite Frage, wie kann ich etwas in eine Listbox schreiben bzw. auslesen?
Für eine neue Frage erstell bitte einen neuen Thread, sonst geht hier alles durcheinander und findet am Ende mit der Suche gar nichts mehr wieder.

Aber auch hier Hiolft es eventuell mal in die Hilfe zu gucken.

4toms 26. Feb 2005 16:26

Re: Lines in einem Memofeld bestimmen
 
Könnte es eventuell daran liegen, daß

var a: array[1..n] of integer;

Integer nur bis 32tausendnochwasgeht, man für 65tausendnochwas aber eher einen anderen Zahlentyp (Word, LongInt) braucht?

Tschulligung, bin so blind, daß ich keine Typen mehr unterscheiden kann

Binärbaum 26. Feb 2005 17:13

Re: Lines in einem Memofeld bestimmen
 
Zitat:

Zitat von 4toms
Könnte es eventuell daran liegen, daß

var a: array[1..n] of integer;

Integer nur bis 32tausendnochwasgeht, man für 65tausendnochwas aber eher einen anderen Zahlentyp (Word, LongInt) braucht?

Tschulligung, bin so blind, daß ich keine Typen mehr unterscheiden kann

Integer ist ein generischer Typ und müsste in den meisten Fällen LongInt entsprechen. Damit kann man Zahlen von ca. -2 Milliarden bis +2 Milliarden darstellen. Für zahlen bis 65000 würde aber auch Word (Bereich: 0 bis 65535) reichen.

MfG
Binärbaum


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