/ Forside / Teknologi / Udvikling / Delphi/Pascal / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Delphi/Pascal
#NavnPoint
oldwiking 603
jrossing 525
rpje 520
EXTERMINA.. 500
gandalf 460
gubi 270
DJ_Puden 250
PARKENSS 230
technet 210
10  jdjespers.. 200
udvælge variable i en string
Fra : ht


Dato : 31-10-04 00:32

Hej,
jeg skal udvælge variable fra en tekstfil. Filen er opbygget sådan
her:

S: : : 1: 8:28/10/04 08:30:14: 16:
1:900030=:30:10000:4:1000:0:0:0:0:1:1:"":0:""
S: : : 1: 9:28/10/04 08:30:21: 16:
1:900030=:30:7500:1:1000:0:0:0:0:1:1:"":0:""
S: : : 1: 13:28/10/04 08:31:14: 16:
1:2069670000008:49:7525:1:4192:0:169:0:0:1:1:"":2069670075259:""
S: : : 1: 14:28/10/04 08:31:18: 16:
1:2068130000008:49:1230:1:62:0:0:0:0:1:1:"":2068130012308:""
S: : : 1: 18:28/10/04 08:31:25: 16:
1:421=:30:1580:4:1000:0:118:0:0:1:1:"":0:""
S: : : 1: 19:28/10/04 08:31:27: 16:
1:5704068025016:47:1095:1:1000:0:0:0:0:1:1:"":0:""
E: : : 1: 24:28/10/04 08:31:42: 16: 1:85:0:76875:""
T: : : 1: 28:28/10/04 08:31:46: 16: 1:7:76875:1:0:0:"17"
I: : : 1: 29:28/10/04 08:31:46: 16:
1:27:77060:0:0:0:0:1:76875:0:0:0:0:1
E: : : 1: 30:28/10/04 08:31:46: 16: 1:84:0:0:""
E: : : 1: 31:28/10/04 08:34:14: 16: 0:90:83:0:""


Hver linie starter med et bogstav. De forskellige variable er opdelt
med kolon.

I den første halvdel af linien bruger jeg
variabel := copy(S, 23, 8)
da de enkelte felter har en fast bredde.

Hvordan kan jeg udvælge variablene i den sidste halvdel?

vh
Harald

 
 
Harald (31-10-2004)
Kommentar
Fra : Harald


Dato : 31-10-04 01:00

"ht" <harald_thomsen@yahoo.com> skrev i en meddelelse
news:6a15bfbe.0410301531.d7cea5d@posting.google.com...
> Hej,
> jeg skal udvælge variable fra en tekstfil. Filen er opbygget sådan
> her:
>
> S: : : 1: 8:28/10/04 08:30:14: 16:
> 1:900030=:30:10000:4:1000:0:0:0:0:1:1:"":0:""
> S: : : 1: 9:28/10/04 08:30:21: 16:
> 1:900030=:30:7500:1:1000:0:0:0:0:1:1:"":0:""
> S: : : 1: 13:28/10/04 08:31:14: 16:
> 1:2069670000008:49:7525:1:4192:0:169:0:0:1:1:"":2069670075259:""
> S: : : 1: 14:28/10/04 08:31:18: 16:
> 1:2068130000008:49:1230:1:62:0:0:0:0:1:1:"":2068130012308:""
> S: : : 1: 18:28/10/04 08:31:25: 16:
> 1:421=:30:1580:4:1000:0:118:0:0:1:1:"":0:""
> S: : : 1: 19:28/10/04 08:31:27: 16:
> 1:5704068025016:47:1095:1:1000:0:0:0:0:1:1:"":0:""
> E: : : 1: 24:28/10/04 08:31:42: 16: 1:85:0:76875:""
> T: : : 1: 28:28/10/04 08:31:46: 16: 1:7:76875:1:0:0:"17"
> I: : : 1: 29:28/10/04 08:31:46: 16:
> 1:27:77060:0:0:0:0:1:76875:0:0:0:0:1
> E: : : 1: 30:28/10/04 08:31:46: 16: 1:84:0:0:""
> E: : : 1: 31:28/10/04 08:34:14: 16: 0:90:83:0:""
>
>
> Hver linie starter med et bogstav. De forskellige variable er opdelt
> med kolon.
>
> I den første halvdel af linien bruger jeg
> variabel := copy(S, 23, 8)
> da de enkelte felter har en fast bredde.
>
> Hvordan kan jeg udvælge variablene i den sidste halvdel?

Prøv at kikke på ExtractStrings

Mvh
HK



ht (31-10-2004)
Kommentar
Fra : ht


Dato : 31-10-04 11:59

"Harald" <news10@-REMOVE-THIS-kroning.dk> wrote in message news:<41842afd$0$96398$edfadb0f@dread15.news.tele.dk>...
> "ht" <harald_thomsen@yahoo.com> skrev i en meddelelse
> news:6a15bfbe.0410301531.d7cea5d@posting.google.com...
> > Hej,
> > jeg skal udvælge variable fra en tekstfil. Filen er opbygget sådan
> > her:
> >
> > S: : : 1: 8:28/10/04 08:30:14: 16:
> > 1:900030=:30:10000:4:1000:0:0:0:0:1:1:"":0:""
> > S: : : 1: 9:28/10/04 08:30:21: 16:
> > 1:900030=:30:7500:1:1000:0:0:0:0:1:1:"":0:""
> > S: : : 1: 13:28/10/04 08:31:14: 16:
> > 1:2069670000008:49:7525:1:4192:0:169:0:0:1:1:"":2069670075259:""
> > S: : : 1: 14:28/10/04 08:31:18: 16:
> > 1:2068130000008:49:1230:1:62:0:0:0:0:1:1:"":2068130012308:""
> > S: : : 1: 18:28/10/04 08:31:25: 16:
> > 1:421=:30:1580:4:1000:0:118:0:0:1:1:"":0:""
> > S: : : 1: 19:28/10/04 08:31:27: 16:
> > 1:5704068025016:47:1095:1:1000:0:0:0:0:1:1:"":0:""
> > E: : : 1: 24:28/10/04 08:31:42: 16: 1:85:0:76875:""
> > T: : : 1: 28:28/10/04 08:31:46: 16: 1:7:76875:1:0:0:"17"
> > I: : : 1: 29:28/10/04 08:31:46: 16:
> > 1:27:77060:0:0:0:0:1:76875:0:0:0:0:1
> > E: : : 1: 30:28/10/04 08:31:46: 16: 1:84:0:0:""
> > E: : : 1: 31:28/10/04 08:34:14: 16: 0:90:83:0:""
> >
> >
> > Hver linie starter med et bogstav. De forskellige variable er opdelt
> > med kolon.
> >
> > I den første halvdel af linien bruger jeg
> > variabel := copy(S, 23, 8)
> > da de enkelte felter har en fast bredde.
> >
> > Hvordan kan jeg udvælge variablene i den sidste halvdel?
>
> Prøv at kikke på ExtractStrings
>
> Mvh
> HK

Jeg bruger D5, og ExtractStrings er vist ikke med i den

vh
Harald

Harald (31-10-2004)
Kommentar
Fra : Harald


Dato : 31-10-04 12:24

"ht" <harald_thomsen@yahoo.com> skrev i en meddelelse
news:6a15bfbe.0410310258.45821a41@posting.google.com...
> "Harald" <news10@-REMOVE-THIS-kroning.dk> wrote in message
> news:<41842afd$0$96398$edfadb0f@dread15.news.tele.dk>...
>> "ht" <harald_thomsen@yahoo.com> skrev i en meddelelse
>> news:6a15bfbe.0410301531.d7cea5d@posting.google.com...
>> > Hej,
>> > jeg skal udvælge variable fra en tekstfil. Filen er opbygget sådan
>> > her:

<klip>

>> >
>> > Hver linie starter med et bogstav. De forskellige variable er opdelt
>> > med kolon.
>> >
>> > I den første halvdel af linien bruger jeg
>> > variabel := copy(S, 23, 8)
>> > da de enkelte felter har en fast bredde.
>> >
>> > Hvordan kan jeg udvælge variablene i den sidste halvdel?
>>
>> Prøv at kikke på ExtractStrings
>>
>> Mvh
>> HK
>
> Jeg bruger D5, og ExtractStrings er vist ikke med i den

Det er jeg sikker på at den er for den findes i Delphi 4

/HK



Finn Bindeballe (01-11-2004)
Kommentar
Fra : Finn Bindeballe


Dato : 01-11-04 08:25

hej der...

lidt code jeg har lavet engang....
-----------------------------------------------
procedure Sortstring (var list : TStringlist; s: String ; Delimiter :
char ) ;
var iy : integer ;
s1: String;
begin
list.Clear;
s1:='';
for iy :=1 to length ( s ) do
begin
if s[iy] = Delimiter then
begin
list.Add ( s1 );
s1 :='';
end else s1:= s1+s[iy];
end ;
if sizeof (s1 ) > 0 then list.add( s1 );
end;
---------------------------------------------

bruges som flg.

var ll : TStringlist;

begin
ll := TStringlist.Create;
SortString ( ll,'E: : : 1: 31:28/10/04 08:34:14: 16: 0:90:83:0:',':');
....
nu kan du i ll.strings[nr] læse hvad der står paa pladsen.... og den er
ligeglad med varierende længde paa strengen, og paa felterene....
....

ll.free;----------HUSK---------



/f

Nicolai Hansen (02-11-2004)
Kommentar
Fra : Nicolai Hansen


Dato : 02-11-04 08:13

*snip*

> begin
> ll := TStringlist.Create;
> SortString ( ll,'E: : : 1: 31:28/10/04 08:34:14: 16: 0:90:83:0:',':');
> ....
> nu kan du i ll.strings[nr] læse hvad der står paa pladsen.... og den er
> ligeglad med varierende længde paa strengen, og paa felterene....
> ....
>
> ll.free;----------HUSK---------
>
>
>
> /f

Kan man ikke bare

begin
ll:=TStringList.Create;
ll.delimiter:=':';
ll.delimetedtext:='E: : : 1: 31:28/10/04 08:34:14: 16: 0:90:83:0:';
// så skulle de enkelte elementer ligge i stringlist.strings
end;

Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408917
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste