AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Zahlen verteilen

Ein Thema von der_kumpel · begonnen am 26. Feb 2008 · letzter Beitrag vom 27. Feb 2008
Antwort Antwort
der_kumpel

Registriert seit: 30. Jun 2007
42 Beiträge
 
#1

Zahlen verteilen

  Alt 26. Feb 2008, 21:20
Nabend.

Ich bräuchte mal wieder einen kleinen Denkanstoß, und zwar:


Ich habe eine beliebig lange Liste mit ungeordnet Zahlen. Diese Zahlen sollen nun verteilt werden, und zwar auf weitere Listen.

Dazu bestimme ich erstmal
const MaxZahlen = 10; , also die maximale Anzahl der Zahlen pro neue Liste.


Und hier den Code, den ich bisher habe:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var i,j: integer;
begin
  for i := 1 to Ceil(Memo0.Lines.Count / MaxZahlen) do
    begin
      for j := i*MaxZahlen-MaxZahlen to i*MaxZahlen-1 do
        TMemo(FindComponent('Memo'+IntToStr(i))).Lines.Add(Memo0.Lines[j]);
    end;
end;
Memo0: Hier stehen die Zahlen, die verteilt werden sollen.
Memo1-x: Hier werden die Zahlen reingesteckt.


1. Frage: Bei z.B. 14 Zahlen in Memo0 werden die ersten 10 Zahlen in Memo1 geschrieben, die Zahlen 11-14 werden ins Memo2 geschickt, aber zusätzlich noch 6 weitere Leerzeilen. Wie kann ich das verhindern?
2. Frage: Gibt es eine bessere (effizientere) Methode, die Zahlen zu verteilen?

Anmerkung: Das mit den Memos hab ich nur zum Testen des Ganzen gebaut, damit ich besser überprüfen kann, was passiert.


Danke schonmal.

kumpel
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: Zahlen verteilen

  Alt 26. Feb 2008, 21:30
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var i,j: integer;
begin
  for i := 0 to (Memo0.Lines.Count - 1) Div MaxZahlen do
    begin
      for j := 1 to Min(MaxZahlen, (Memo.Lines.Count) mod maxzahlen) do
        TMemo(FindComponent('Memo'+IntToStr(j))).Lines.Add(Memo0.Lines[i*Maxzahlen+j]);
    end;
end;
Markus Kinzler
  Mit Zitat antworten Zitat
der_kumpel

Registriert seit: 30. Jun 2007
42 Beiträge
 
#3

Re: Zahlen verteilen

  Alt 26. Feb 2008, 21:44
Hui, das ging schnell, danke.

Aber leider ists nicht das, was ich brauche.

Hab mal zwei Bilder angehängt.
Miniaturansicht angehängter Grafiken
02_689.png   01_151.png  
  Mit Zitat antworten Zitat
bluesbear

Registriert seit: 14. Dez 2005
Ort: Hahnstätten
355 Beiträge
 
Delphi 2007 Enterprise
 
#4

Re: Zahlen verteilen

  Alt 26. Feb 2008, 22:03
Zitat von der_kumpel:
Aber leider ists nicht das, was ich brauche.
Diesen IQ Test bestehe ich nicht. Ich habe den Zusammenhang nicht verstanden. Wie war das nochmal im Mittelteil?
Klaus M. Hoffmann
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: Zahlen verteilen

  Alt 26. Feb 2008, 22:12
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var i,j: integer;
begin
  for i := 1 to (Memo.Lines.Count Div MaxZahlen)+1 do
    begin
      for j := 0 to Min( MaxZahlen, Memo.Lines.Count - (i-1) * MaxZahlen )-1 do
        (FindComponent('Memo'+IntToStr(i)) as TMemo).Lines.Add(Memo.Lines[(i-1)*Maxzahlen+j]);
    end;
end;
Markus Kinzler
  Mit Zitat antworten Zitat
der_kumpel

Registriert seit: 30. Jun 2007
42 Beiträge
 
#6

Re: Zahlen verteilen

  Alt 27. Feb 2008, 17:33
Zitat von bluesbear:
Diesen IQ Test bestehe ich nicht. Ich habe den Zusammenhang nicht verstanden. Wie war das nochmal im Mittelteil?
Bitte was?

@ mkinzler: Danke, das funktioniert perfekt.
  Mit Zitat antworten Zitat
bluesbear

Registriert seit: 14. Dez 2005
Ort: Hahnstätten
355 Beiträge
 
Delphi 2007 Enterprise
 
#7

Re: Zahlen verteilen

  Alt 27. Feb 2008, 20:39
Zitat von der_kumpel:
Bitte was?
Sorry, ich war zu doof Deine Frage zu verstehen.
Klaus M. Hoffmann
  Mit Zitat antworten Zitat
der_kumpel

Registriert seit: 30. Jun 2007
42 Beiträge
 
#8

Re: Zahlen verteilen

  Alt 27. Feb 2008, 22:12
Kann auch an mir gelegen haben, mkinzler hatte es ja auch erst falsch verstanden.
  Mit Zitat antworten Zitat
Antwort Antwort


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 16:43 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