AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Zeilen mit Stringliste bis zu bestimmten Zeichen auslesen
Thema durchsuchen
Ansicht
Themen-Optionen

Zeilen mit Stringliste bis zu bestimmten Zeichen auslesen

Ein Thema von DragonsTear · begonnen am 30. Jul 2006 · letzter Beitrag vom 30. Jul 2006
Antwort Antwort
Seite 2 von 3     12 3      
DragonsTear

Registriert seit: 30. Jul 2006
12 Beiträge
 
Delphi 2005 Personal
 
#11

Re: Zeilen mit Stringliste bis zu bestimmten Zeichen auslese

  Alt 30. Jul 2006, 15:27
Ich glaube der Fehler liegt woanders, da ich auch kein Delphi 5 verwende.

Es kommt immer noch zu einem Exception Fehler, wenn ich auf Datei öffnen klicke. Anschliessend klicke ich die Datei an, es ist eine Textdatei in C:\ mit den 3 Beispielzeilen im ersten Post.

Dann kommt es zu einer EAccessViolation ... Auf Fortsetzen klicken kommt die nächste, anschliessend kommt, konnte Datei nicht öffnen.

Aber die Datei ist vorhanden....
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: Zeilen mit Stringliste bis zu bestimmten Zeichen auslese

  Alt 30. Jul 2006, 15:29
In welcher Zeile stoppt der Debugger?
Markus Kinzler
  Mit Zitat antworten Zitat
DragonsTear

Registriert seit: 30. Jul 2006
12 Beiträge
 
Delphi 2005 Personal
 
#13

Re: Zeilen mit Stringliste bis zu bestimmten Zeichen auslese

  Alt 30. Jul 2006, 15:31
            Itemnamen.Items.Assign(ItemListe); In dieser Spalte

EDIT : Ich habe bei der von marabu geposteten Funktion vor das sOut.Clear ein sOut.Create hinzugefügt damit die Liste auch kreeiert wird...

Delphi-Quellcode:
procedure ExtractNames(sIn, sOut: TStrings);
var
  i: Integer;
begin
  sOut.Create; // von mir hinzugefügt //
  sOut.Clear;
  for i := 0 to Pred(sIn.Count) do
    sOut.Add(sIn.Names[i]);
end;
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#14

Re: Zeilen mit Stringliste bis zu bestimmten Zeichen auslese

  Alt 30. Jul 2006, 15:48
So geht das nicht. Wenn du die Namensliste in der Funktion selbst erzeugen möchtest, dann so:

Delphi-Quellcode:
procedure CreateNames(s: TStrings): TStrings;
var
  i: Integer;
begin
  Result := TStringList.Create;
  for i := 0 to Pred(s.Count) do
    Result.Add(s.Names[i]);
end;
marabu
  Mit Zitat antworten Zitat
DragonsTear

Registriert seit: 30. Jul 2006
12 Beiträge
 
Delphi 2005 Personal
 
#15

Re: Zeilen mit Stringliste bis zu bestimmten Zeichen auslese

  Alt 30. Jul 2006, 15:53
Marabu, kleinen Fehler haste gemacht, das ist jetzt ne Funktion! Aber trotzdem vielen Dank für eure Mühen, da stand ich echt auffm Schlauch....

Dankeschön an alle!
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#16

Re: Zeilen mit Stringliste bis zu bestimmten Zeichen auslese

  Alt 30. Jul 2006, 16:07
Zitat von DragonsTear:
Marabu, kleinen Fehler haste gemacht
Kleine Fehler sind meine Spezialität ...

marabu
  Mit Zitat antworten Zitat
DragonsTear

Registriert seit: 30. Jul 2006
12 Beiträge
 
Delphi 2005 Personal
 
#17

Re: Zeilen mit Stringliste bis zu bestimmten Zeichen auslese

  Alt 30. Jul 2006, 17:42
Delphi-Quellcode:
function TForm1.CreateTypLists(fn: TFileName; anf : char; ende : char) : TStrings;
var
i, ianf, iende : integer;
s : string;
begin
Result := TStringList.Create;
with Result do
begin
LoadFromFile(fn);
for i := 0 to Pred(Count) do
    begin
    ianf := pos( 'anf' , Strings[i]);
    iende := pos( 'ende' , Strings[i]);
    s := copy(Strings[i], ianf, iende);
    Result.Add(s);
end;
end;
end;
Mich hat der Ehrgeiz gepackt und ich wollte versuchen eine Funktion zu schreiben, die jeweils den Teilstring aus der Datei extrahiert, der bei anf anfängt und bei ende aufhört...

Hm, Problem ist : Es funktioniert nicht, er gibt immer die gesamten Strings aus...

Danke im Vorraus den Helfenden ...
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#18

Re: Zeilen mit Stringliste bis zu bestimmten Zeichen auslese

  Alt 30. Jul 2006, 17:52
Du gibst als Parameter anf und ende vor, suchst aber nach den Literalen 'anf' und 'ende' - so kann es nicht funktionieren.

marabu
  Mit Zitat antworten Zitat
DragonsTear

Registriert seit: 30. Jul 2006
12 Beiträge
 
Delphi 2005 Personal
 
#19

Re: Zeilen mit Stringliste bis zu bestimmten Zeichen auslese

  Alt 30. Jul 2006, 18:58
Delphi-Quellcode:
           ItemTypeListe := CreateTypLists(OpenDialog.Filename, #91 , #93 );
           ListBox1.Items.Assign(ItemTypeListe)
Trotz der Richtigstellung mit dem Iteral Fehler funktioniert es immer noch nicht...

Frage : Wenn in der ersten Zeile keines der Zeichen gefunden werdne kann, dann gibt er aber trotzdem für die Zeilen in denen er das Anfangs und Endzeichen findet, den richtigen String aus, oder?
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#20

Re: Zeilen mit Stringliste bis zu bestimmten Zeichen auslese

  Alt 30. Jul 2006, 19:09
Probiere es mal so:

Delphi-Quellcode:
function TForm1.CreateTypLists(fn: TFileName; cStart, sStop: Char): TStrings;
var
  i, iStart, iStop: Integer;
  s: String;
begin
  Result := TStringList.Create;
  Result.LoadFromFile(fn);
  for i := Pred(Result.Count) downto 0 do
  begin
    iStart := Pos(cStart, Result[i]);
    iStop := Pos(cStop, Result[i]);
    if (iStart = 0) or (iStop < iStart) then
      Result.Delete(i);
  end;
end;
Getippt und nicht getestet.

marabu
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


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 00:15 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