AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Listbox: inhalt größer als gewollt
Thema durchsuchen
Ansicht
Themen-Optionen

Listbox: inhalt größer als gewollt

Ein Thema von tadlanra · begonnen am 25. Sep 2008 · letzter Beitrag vom 25. Sep 2008
Antwort Antwort
tadlanra

Registriert seit: 9. Sep 2008
Ort: Kleve
13 Beiträge
 
Delphi 2006 Professional
 
#1

Listbox: inhalt größer als gewollt

  Alt 25. Sep 2008, 10:49
Hallo bin neu hier
hab folgendes problem ich hab mir aus einem richedit einen string rauskopiert und in eine listbox abgelegt (hier stehen jetzt lauter namen). jetzt will ich den eintrag aus der listbox wieder hernehmen um aus einem anderen richedit diesen namen zu finden (hier möchte ich dann zugehörige daten herauskopieren). in der listbox steht aber nicht nur das was ich reinkopiert habe, sondern auch diverse sonderzeichen sowie ein zeilenumbruch. wenn ich den inhalt der zeile also im richedit suche finde ich nichts. kann ich irgendwie ausstellen dass es mir da noch was an mein wort ranhängt, oder soll ich versuchen (natürlich etwas mehr aufwand) die letzten zeichen abzuschneiden?
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

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

Re: Listbox: inhalt größer als gewollt

  Alt 25. Sep 2008, 11:13
Hallo tadlanra,

leider kann ich nicht sehen was für Sonderzeichen Du da mitkopiert hast, darum hab ich versucht Dein Problem nachzustellen:
Delphi-Quellcode:
form1.ListBox1.Items.Add(form1.RichEdit1.Text);
form1.ListBox1.Items.Addstrings(form1.RichEdit1.lines);
Bei Möglichkeit 1 werden $0D$0A "mitkopiert" und als schwarze Kästchen angezeigt (und das ist auch abhängig vom verwendeten Font und Zeichensatz)
Bei Möglichkeit2 wird der "nackte" Text angezeigt.
Irgendwelche Formatierungen,wie fett oder kursiv, "verschwinden".

Laß doch mal sehen wie Dein Ausgangstext im Rchedit und das Kopierergebnis in derListbox aussieht

Gruß
K-H
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#3

Re: Listbox: inhalt größer als gewollt

  Alt 25. Sep 2008, 11:13
Versuch es mal mit trim() beim Einfügen in die ListBox.
ListBox.Items.Add(trim(DeinString)); P.S.: Willkommen in der DP
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
tadlanra

Registriert seit: 9. Sep 2008
Ort: Kleve
13 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Listbox: inhalt größer als gewollt

  Alt 25. Sep 2008, 11:28
Parameter:= Copy(RichEdit1.text, start, laenge);
ListBox2.Items.Add(Parameter);

hm habe aber grade gesehen dass ich dann nochmal von der listbox in ne andere listbox kopiere

listbox5.Items.Strings[index2]:=copy(listbox2.items.Strings[index],startpos,laenge);
//index2 : zählt die listbox5 durch
//index : zählt die listbox2 durch (nicht jede zeile wird übernommen)

hm da ich von startpos(ition) 0 ausgehe nehme ich denke ich hier schon ein paar sonderzeichen chr(1) chr(6) chr (20)... (wirkt ein bisschen willkürlich) mit. hab jetzt mal den string zugeschnitten und programm funktioniert trotzdem nicht gibt also noch ein anderes problem im weiteren programmverlauf was ich erst lösen möchte. dann kann ich das mal mit trim versuchen.
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

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

Re: Listbox: inhalt größer als gewollt

  Alt 25. Sep 2008, 12:01
hallo Tadlanra,

wenn Du copy(Text,Startpos,Laenge) einsetzt, dann sollte deine Startpos immer 1 oder größer sein!
Auf 0 liegt im allgemeinen die Länge des Strings

Gruß
K-H
  Mit Zitat antworten Zitat
tadlanra

Registriert seit: 9. Sep 2008
Ort: Kleve
13 Beiträge
 
Delphi 2006 Professional
 
#6

Re: Listbox: inhalt größer als gewollt

  Alt 25. Sep 2008, 12:09
ja suuuper. lag wohl an den zeilenumbrüchen die sind jetzt durch trim weg und ich kann die strings vergleichen. Programm läuft. danke euch

PS: das mit der startposition werd ich mir nochmal angucken danke
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#7

Re: Listbox: inhalt größer als gewollt

  Alt 25. Sep 2008, 12:12
Zitat von p80286:
Auf 0 liegt im allgemeinen die Länge des Strings
Aber nicht bei AnsiStrings. Du meinst vermutlich das Längenbyte von Shortstrings.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: Listbox: inhalt größer als gewollt

  Alt 25. Sep 2008, 12:18
Aber auch AnsiStrings starten mit Index 1
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

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

Re: Listbox: inhalt größer als gewollt

  Alt 25. Sep 2008, 12:19
korrekt!

aber auch bei Ansistrings ist 0 ein Griff in die inhaltliche Schüssel.

Gruß
K-H
  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 17:19 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