AGB  ·  Datenschutz  ·  Impressum  







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

Textstellen auslesen

Ein Thema von Q-Dog · begonnen am 6. Mai 2006 · letzter Beitrag vom 6. Mai 2006
Antwort Antwort
Q-Dog

Registriert seit: 15. Okt 2005
24 Beiträge
 
#1

Textstellen auslesen

  Alt 6. Mai 2006, 11:38
Hallo,

ich habe schon die Forensuche benutzt aber leider nichts gefunden.

Also mein Problem ist folgendes:
Ich möchte aus einem EditFeld, in dem z.B folgender Text steht:
Zitat:
Text (x 1)
anderer Text (x 7)
nochmal anderer (x 10)
Text (x 3)
nur die Zahlen auslesen und dann später mit ihnen weiterrechnen.

Gibt es da eine Möglichkeit das irgendwie zu bewältigen?
Und würdet ihr dazu ein Edit-Feld nehmen, weil der Text halt untereinander ist und nicht nur alles in einer Zeile.



Mfg Q-Dog
  Mit Zitat antworten Zitat
Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#2

Re: Textstellen auslesen

  Alt 6. Mai 2006, 11:43
Hi!

Es würde sich anbieten dafür eine Stringlist zu nutzen. Allerdings ist ein Edit doch einzeilig, also ein Edit wäre wohl nicht geeignet.

Wenn es immer die letzten Zeichen der Zeile sind und immer ein Leerzeichen davor ist, dann solltest du mal nach Pos bzw. PosEx schauen. Danach hilft dir Copy sicherlich weiter.


Ciao Frederic
Frederic Kerber
  Mit Zitat antworten Zitat
Benutzerbild von eddy
eddy

Registriert seit: 4. Jan 2003
Ort: Sachsen
573 Beiträge
 
Delphi 5 Professional
 
#3

Re: Textstellen auslesen

  Alt 6. Mai 2006, 11:47
Hallo Q-Dog,

nimm ein Memo:
Delphi-Quellcode:
var
  i, j : integer;
  r : real;

// ....
for i := 0 to mem.Lines.count - 1 do begin
  s := mem.Lines.Strings[i];
  hs := '';
  for j := 1 to length(s) do
    if Pos(s[j], '0123456789+-.') > 0 then hs := hs + s[j];
  if hs = 'then hs := '0';
  r := StringToFloat(hs);
  speicherort_fuer_verarbeitung_der_zahlen := r;
end;
Nicht getestet, aber so in etwa sollte es gehen.

mfg
eddy
  Mit Zitat antworten Zitat
Q-Dog

Registriert seit: 15. Okt 2005
24 Beiträge
 
#4

Re: Textstellen auslesen

  Alt 6. Mai 2006, 11:52
schonmal vielen dank für die Antworten

also es ist nicht immer das letzte Zeichen, denn eine Klammer umgibt die Zahl z.B. (x 9) / (x 15).

ich werd das mit dem Memo gleich mal ausprobieren

/Edit
also memo eignet sich wohl besser als edit feld.
hab den code jetzt mal umgeändert:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  i, j : integer;
  r : real;
  s, hs: string;
begin
// ....
for i := 0 to mem.Lines.count - 1 do begin
  s := mem.Lines.Strings[i];
  hs := '';
  for j := 1 to length(s) do
    if Pos(s[j], '0123456789+-.') > 0 then hs := hs + s[j];
  if hs = 'then hs := '0';
  listbox1.Items.add(hs);
end;
klappt wunderbar, vielen Dank



Mfg Q-Dog
  Mit Zitat antworten Zitat
happyaura

Registriert seit: 12. Jan 2005
Ort: Hamburg
73 Beiträge
 
Delphi 6 Personal
 
#5

Re: Textstellen auslesen

  Alt 6. Mai 2006, 12:02
müll geschrieben und gedacht...
  Mit Zitat antworten Zitat
Q-Dog

Registriert seit: 15. Okt 2005
24 Beiträge
 
#6

Re: Textstellen auslesen

  Alt 6. Mai 2006, 12:04
Zitat von happyaura:
wenn Du nur ganze zahlen hast, kannst du StrToInt(s) benutzen, dann kannst Du das in einer Integervariable abspeichern
jo hab ich

und das mit dem Speichern hab ich nun auch verstanden *g

Nochmal vielen Dank an euch alle



Mfg Q-Dog
  Mit Zitat antworten Zitat
Q-Dog

Registriert seit: 15. Okt 2005
24 Beiträge
 
#7

Re: Textstellen auslesen

  Alt 6. Mai 2006, 13:42
eine Frage hätte ich dann doch noch, sry.

Wie kann ich einen Text vor einem bestimmten Zeichen auslesen.

sprich wenn wir das Beispiel von oben nehmen:
Zitat:
Text (x 1)
anderer Text (x 7)
nochmal anderer (x 10)
Text (x 3)
in jeder Zeile den Text vor dem Klammer auf "(" Zeichen: also "Text" / "anderer Text"...



Mfg Q-Dog
  Mit Zitat antworten Zitat
Benutzerbild von SnuffMaster23
SnuffMaster23

Registriert seit: 13. Feb 2006
Ort: Kempten
253 Beiträge
 
#8

Re: Textstellen auslesen

  Alt 6. Mai 2006, 13:55
Probiers mit copy:
TextVorKlammer := Copy(Memo1.Lines[i], 0, Pos('(', Memo1.Lines[i]) - 1) Das müsste hinhauen, hab ich jetz auswendig hingeschrieben
"Conspiracy is the poor man's mapping of the world" - Fredric Jameson
  Mit Zitat antworten Zitat
Q-Dog

Registriert seit: 15. Okt 2005
24 Beiträge
 
#9

Re: Textstellen auslesen

  Alt 6. Mai 2006, 13:59
hui, ihr seid die besten
  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 21:49 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