Autor Beitrag
JeanvanHees
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 146

win 2000
D6 Pers
BeitragVerfasst: Mi 28.08.02 09:22 
Ich bin am moment am debuggen aber ihr jungs sieht das warscheinlich schneller.
Mein program hängt sich auf in eine schleife wie gesagt.
Hier sind die proceduren die verantwortlich sind für meinen problem:

Ich weiß sehr sicher das wenn es funktionieren wörde das die erste suche nach 'start of' direkt der platz ist den ich haben muß.
ausblenden volle Höhe Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
function Getpos (Filestring:String;Beginp:integer;Searchstr:String):integer;
var
tempstring:String;

begin
tempstring := copy(Filestring,Beginp,Length(Filestring)-Beginp);
unit3.Form3.Memo1.Lines.Add(tempstring);

Getpos := pos(Searchstr,tempstring) + Beginp;
end;

function Getbeginofep (Filestr:String;Episodenr:integer):integer;
var
epipos,begpos,returnpos,nrpos,number,code:integer;
ThisLine:String;
begin
epipos:=0;
begpos:=1;
while epipos=0
        do
        begin
        begpos:=Getpos(Filestr,begpos,'"Start of');
        returnpos:=Getpos(Filestr,begpos,Chr(13));
        ThisLine:= Midstr(Filestr,begpos,returnpos-begpos);
         nrpos:=pos('Episode",',ThisLine);

        if nrpos>0
                then
                begin
                val(midstr(ThisLine,nrpos+1,length(ThisLine)-nrpos-1),Number,Code);
                if Number = Episodenr then
                begin
                       Getbeginofep:=begpos;
                       epipos:=1;
                end
                else
                   begpos:=begpos+1;
        end
        else begpos:=begpos+1;
             
end;
end;

procedure Seekepisodestring(Episodenr:integer;Episodestring:String);

var
beginpos,endpos:integer;
Filestr:String;

begin
Filestr:=unit4.Filestring;

beginpos:= Getbeginofep(Filestr,Episodenr);
endpos:= Getpos(Filestr,beginpos,'End of Episode"');

Episodestring:=Copy(Filestr,beginpos,endpos-beginpos);
end;

Ich hab mich gestern schon blind geschaut hierauf, vielleicht das ein paar frische augen das hier sehen. Ich will mich nicht interresant machen, aber die vertraulichen sachen von mein program kann ich hier nicht posten und das werd ich auch nicht. Also tips über diese art suche sind sehr wilkommen für die zukunft von mein program.

_________________
Cause even though I know things won't get any better, they can certainly never get much worse!
JeanvanHees Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 146

win 2000
D6 Pers
BeitragVerfasst: Mi 28.08.02 10:25 
Ich habe schon meine frage selbst beantwort.
Also vielen dank für die interesse, aber ich habs schon.
Ich hab von nrpos nrpos+9 gemacht. :)

_________________
Cause even though I know things won't get any better, they can certainly never get much worse!