AGB  ·  Datenschutz  ·  Impressum  







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

Text in 5er Buchstabengruppen anordnen

Ein Thema von eragon123 · begonnen am 29. Mär 2010 · letzter Beitrag vom 31. Mär 2010
Antwort Antwort
Seite 1 von 2  1 2      
eragon123

Registriert seit: 6. Mär 2010
53 Beiträge
 
#1

Text in 5er Buchstabengruppen anordnen

  Alt 29. Mär 2010, 16:31
Ich habe als Ausgang String die Buchstaben enthalten z.B: 'ALDGFHSDKHGIHEBIUHSBIH'. Daraus will ich jetzt 5er Gruppen machen. Wie bekomme ich das hin? Z.B. 'AFJGH AJGHI ALSKD'

Mein Ansatz
Delphi-Quellcode:
beschriftung := lblout.Caption; // In 5er Gruppen annordnen
  beschriftung2 := lblin.Caption;
  for i := 0 to Length(lblin.Caption) div 5 do
  begin
    Insert(' ',beschriftung,i*5);
    Insert(' ',beschriftung2,i*5);
  end;
  lblout.Caption := beschriftung;
  lblin.Caption := beschriftung2;
Beschriftung 1 und 2 sind strings.
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.771 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: Text in 5er Buchstabengruppen anordnen

  Alt 29. Mär 2010, 16:35
Hallo,

schau Dir mal Delphi-Referenz durchsuchensystem.copy und Delphi-Referenz durchsuchensystem.delete an.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
eragon123

Registriert seit: 6. Mär 2010
53 Beiträge
 
#3

Re: Text in 5er Buchstabengruppen anordnen

  Alt 29. Mär 2010, 16:42
Ok hab ich ... was soll mir das jetzt sagen? Würdest du die Sachen einzeln Rauskopieren und dann löschen oder wie ist das gemeint?
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.771 Beiträge
 
Delphi 10.4 Sydney
 
#4

Re: Text in 5er Buchstabengruppen anordnen

  Alt 29. Mär 2010, 16:46
.. ich weiß ja nicht, ob Du den Ausgangsstring noch behalten willst?
Ich würde immer die ersten 5 Zeichen kopieren und diesen dann aus dem Ausgangsstring löschen.

Ohne zu löschen solltest Du die Start- und Endwerte im Copy nach jedem Copy Vorgang anpassen.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
eragon123

Registriert seit: 6. Mär 2010
53 Beiträge
 
#5

Re: Text in 5er Buchstabengruppen anordnen

  Alt 29. Mär 2010, 16:53
Mhm ok neuer Versuch:

Delphi-Quellcode:
  beschriftung := ''; // In 5er Gruppen annordnen
  beschriftung2 := '';
  for i := 0 to Length(lblin.Caption) div 5 do
  begin
    beschriftung := beschriftung + Copy(lblin.Caption,i*5,5) + ' ';
    beschriftung2 := beschriftung2 + Copy(lblout.Caption,i*5,5) + ' ';
  end;
  lblout.Caption := beschriftung;
  lblin.Caption := beschriftung2;
Macht immer noch Quatsch..

Kann es sein das der lenght Teil nicht den richtigen Wert liefert? Ich stehe gerade echt auf der Leitung .. bitte um Hilfe.
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.771 Beiträge
 
Delphi 10.4 Sydney
 
#6

Re: Text in 5er Buchstabengruppen anordnen

  Alt 29. Mär 2010, 16:59
.. wie schaut denn der Quatsch aus?

im String[0] steht die Länge des Strings, nützliche Daten sind erst ab String[1]
da.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#7

Re: Text in 5er Buchstabengruppen anordnen

  Alt 29. Mär 2010, 17:04
Zitat von eragon123:
Mein Ansatz
Delphi-Quellcode:
beschriftung := lblout.Caption; // In 5er Gruppen annordnen
beschriftung2 := lblin.Caption;
for i := 0 to Length(lblin.Caption) div 5 do
begin
  Insert(' ',beschriftung,i*5);
  Insert(' ',beschriftung2,i*5);
end;
lblout.Caption := beschriftung;
lblin.Caption := beschriftung2;
Erstens ein String hat einen 1-basierenden Index.
for i := 0 to und i*5 ergeben aber als ersten Wert eine 0, also müßte überall +1 hinzu.
Außerdem willst du doch nur gruppieren/unterteilen und dann benötigst du keine Leerzeichen an erster Stelle und unter Umständen auch nicht an letzter Stelle.

Wenn du von Vorne bis Hinten durchgehst und enfügst, dann wird der String um die eingefügten Zeichen Länger (also vor den Einfügestellen) und demnach müßte für jede Einfügung 1 ( i*Length(' ') ) hinzugerechnet werden.

Lösung: von hinten beginnen

Delphi-Quellcode:
for i := 1 do (Length(lblin.Caption) - 1) div 5 do
  //Insert(' ', beschriftung, i * (5 + Length(' ')) + 1);
  Insert(' ', beschriftung, i * 6 + 1);
oder
Delphi-Quellcode:
for i := (Length(lblin.Caption) - 1) div 5 downto 1 do
  Insert(' ', beschriftung, i * 5 + 1);

Zitat von eragon123:
Beschriftung 1 und 2 sind strings.
Sind diese auch gleich lang?
Wenn nicht, dann benötogst du 2 Schleifen.
$2B or not $2B
  Mit Zitat antworten Zitat
eragon123

Registriert seit: 6. Mär 2010
53 Beiträge
 
#8

Re: Text in 5er Buchstabengruppen anordnen

  Alt 29. Mär 2010, 17:35
Achso hab ich vergessen zu sagen ... ja die sind gleich lang.

Habs jetzt mal so übernommen
Delphi-Quellcode:
beschriftung := lblin.Caption; // In 5er Gruppen annordnen
  for i := (Length(beschriftung) - 1) div 5 downto 1 do
    Insert(' ', beschriftung, i * 5 + 1);

  lblin.Caption := beschriftung;
Funktioniert aber nicht komplett, obwohl ich deinen Ansatz verstehe (hoffe ich zumindestens ). Was bei rauskommt im Label ist folgendes:

AAAAA

A
A A
AA A
AAA

So in dem Muster ca. Es scheint nur in der ersten Zeile zu funktionieren. Ich weiß nicht wo er da die Zeilenumbrüche her hat. Hab wordwrap auf true... kann das damit zusammenhängen?
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#9

Re: Text in 5er Buchstabengruppen anordnen

  Alt 29. Mär 2010, 18:04
Zitat von eragon123:
So in dem Muster ca. Es scheint nur in der ersten Zeile zu funktionieren. Ich weiß nicht wo er da die Zeilenumbrüche her hat. Hab wordwrap auf true... kann das damit zusammenhängen?
Jo das kann,
Wann immer es geht: keine Daten aus Memo/RichEdit/edit/Label lesen, da für die Anzeige die Daten modifiziert werden.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
eragon123

Registriert seit: 6. Mär 2010
53 Beiträge
 
#10

Re: Text in 5er Buchstabengruppen anordnen

  Alt 29. Mär 2010, 18:13
Mhm aber wie soll ich dann den Text verändern?
  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 04:45 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