AGB  ·  Datenschutz  ·  Impressum  







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

Wort aus Textdatei laden

Ein Thema von BullsEye · begonnen am 4. Feb 2009 · letzter Beitrag vom 6. Feb 2009
Antwort Antwort
Seite 2 von 2     12   
BullsEye

Registriert seit: 8. Sep 2007
Ort: Werlte
872 Beiträge
 
Delphi 7 Personal
 
#11

Re: Wort aus Textdatei laden

  Alt 4. Feb 2009, 18:49
Zitat von DeddyH:
Das ist nun eine Sache des Eingangsformates. Dementsprechend müsstest Du die Funktion aufbauen. Wie kann so ein String denn aussehen, d.h. welche Randbedingungen sind vorgegeben?

Eigentlich nur, die unterschiedliche Länge!

Sprich:
Zitat:
bind "o" "say Delphi Praxis ist super!"
kann auch so aussehen

Zitat:
bind "KP_MINUS" "say Hallo! Besucht mich doch einfach mal!"
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.544 Beiträge
 
Delphi 11 Alexandria
 
#12

Re: Wort aus Textdatei laden

  Alt 4. Feb 2009, 18:52
Der Teil, der Dich interessiert, steht aber immer zwischen den letzten beiden Anführungszeichen?
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
BoolString

Registriert seit: 2. Feb 2009
Ort: Varel
70 Beiträge
 
RAD-Studio 2009 Pro
 
#13

Re: Wort aus Textdatei laden

  Alt 4. Feb 2009, 18:53
StringReplace (aProblemString, '"', '', [rfReplaceAll]); Oder hab ich was übersehen?

Jan

-> Fettdruck in Delphitags scheint nicht zu klappen
  Mit Zitat antworten Zitat
BullsEye

Registriert seit: 8. Sep 2007
Ort: Werlte
872 Beiträge
 
Delphi 7 Personal
 
#14

Re: Wort aus Textdatei laden

  Alt 4. Feb 2009, 20:26
Zitat von DeddyH:
Der Teil, der Dich interessiert, steht aber immer zwischen den letzten beiden Anführungszeichen?
Ich weiß zwar nicht, ob dich der interessiert, mich aber schon Ja, genau den Teil.
Allerdings ohne die ersten drei Buchstaben (say)



Zitat von BoolString:
StringReplace (aProblemString, '"', '', [rfReplaceAll]); Oder hab ich was übersehen?

Jan

-> Fettdruck in Delphitags scheint nicht zu klappen
Das ist nicht das, was ich will. Somit erhalte ich nur den Inhalt der ersten beiden ". Gefragt ist nun aber der des zweiten "
  Mit Zitat antworten Zitat
Benutzerbild von scrat1979
scrat1979

Registriert seit: 12. Jan 2007
Ort: Sulzbach a.d. Murr
1.028 Beiträge
 
Delphi 10.4 Sydney
 
#15

Re: Wort aus Textdatei laden

  Alt 4. Feb 2009, 20:33
Das Prinzip ist das selbe:

1. Kopiere String bis auf das letzte Zeichen (= Anführungszeichen)
2. Mit einer Schleife von HINTEN nach dem ersten Treffer auf Anführungszeichen testen
3. Den String von Position 2.) bis zum Ende Kopieren.... Fertig!


... so aus dem Kopf:
Delphi-Quellcode:
 [...]
 test := 'bind "o" "say Delphi Praxis ist super!"';

 var2 := copy(test, 1, length(test)-1);

 for i := length(var2) downto 1 do
   if var2[i] = '"then begin;
       zeichen := i;
       break;
   end;

 ergebnis := copy(var2, zeichen+1, length(var2));
Vielleicht statt einer FOR-Schleife eine "while"-Schleife verwenden und damit break; vermeiden...


SCRaT
Michael Kübler
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.544 Beiträge
 
Delphi 11 Alexandria
 
#16

Re: Wort aus Textdatei laden

  Alt 4. Feb 2009, 20:45
Und das Semikolon hinter dem begin weglassen
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
Benutzerbild von scrat1979
scrat1979

Registriert seit: 12. Jan 2007
Ort: Sulzbach a.d. Murr
1.028 Beiträge
 
Delphi 10.4 Sydney
 
#17

Re: Wort aus Textdatei laden

  Alt 4. Feb 2009, 21:26
Stimmt auch wieder

Aber Du solltest Dir - wie DeddyH es bereits gesagt hat - Gedanken über ein einheitliches Format zum einlesen machen. Das erspart Dir viel Ärger.

Und zweitens solltest Du in diesem speziellen Falle die Anführungszeichen als Teil des auszulesenden Textes verbieten, sonst kommt es zu falschen "Werten". Möchtest Du die Zeichen auch erlauben, dann ist das Einlesen nicht mehr ganz so trivial und Du müsstest Dir einen Parser basteln...

Grüße,
SCRaT
Michael Kübler
  Mit Zitat antworten Zitat
BullsEye

Registriert seit: 8. Sep 2007
Ort: Werlte
872 Beiträge
 
Delphi 7 Personal
 
#18

Re: Wort aus Textdatei laden

  Alt 4. Feb 2009, 21:31
Zitat von scrat1979:
Stimmt auch wieder

Aber Du solltest Dir - wie DeddyH es bereits gesagt hat - Gedanken über ein einheitliches Format zum einlesen machen. Das erspart Dir viel Ärger.

Und zweitens solltest Du in diesem speziellen Falle die Anführungszeichen als Teil des auszulesenden Textes verbieten, sonst kommt es zu falschen "Werten". Möchtest Du die Zeichen auch erlauben, dann ist das Einlesen nicht mehr ganz so trivial und Du müsstest Dir einen Parser basteln...

Grüße,
SCRaT
Ich habe eigentlich alles einheitlich mit der Funktion. Bloß ist das hier ein "Sonderfall". Der kommt auch nur bei 5 Werten vor.

Ich hatte eigentlich nicht vor, das ganze Unterfangen komplizierter zu machen, als es schon ist. Ich bin noch dabei, das ganze mit dem Textauslesen etc so richtig zu kapieren.^^
  Mit Zitat antworten Zitat
BullsEye

Registriert seit: 8. Sep 2007
Ort: Werlte
872 Beiträge
 
Delphi 7 Personal
 
#19

Re: Wort aus Textdatei laden

  Alt 6. Feb 2009, 15:45
Wie kann ich das denn am besten machen, wenn ich das ganze denn jetzt wieder in das RichEdit haben will?

Also ich lade ja ein Textdokument in das Richedit und dann die einzelnen Werte in die dazugehörigen Editfelder. Nachdem ich den Wert in dem Editfeld gespeichert habe, muss ich das ja wieder im RichEdit ändern.

Bisher habe ich das so:

EDIT: Habs hinbekommen. Ist nur die Frage, ob das ein "guter" Code ist:

Delphi-Quellcode:
function speichern(Zeile: Integer; Edit: TEdit; AltText: String; Befehl: String) : String;
var erg : String;
begin
  erg := frmEditor.mConfig.Lines[Zeile];
  IF (Edit.Text <> '') THEN BEGIN
    frmEditor.mConfig.Lines[Zeile] := '';
    frmEditor.mConfig.Lines[Zeile] := AltText + Edit.Text + Befehl;
  END;
end;
Aufruf so:

Delphi-Quellcode:
procedure TfrmEditor.btnOKClick(Sender: TObject);
begin
  speichern(30, edtVor, 'bind "', '" "+forward"');
end;
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 22:48 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