|
| 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;
| |
|
|