merhabalar bir xxx.dat dosyasını normalde notepad ile windowsda açtığımda içerisinde bulunanları anlaşılabilir bir şekilde görebiliyorum. fakat bu .dat dosyasını bir türlü memo alana aktaramadım bu konuda nasıl bir kod yazılmalıdır?
örnek dosya aşağıdaki linkde mevcuttur.
http://rapidshare.com/files/176054073/R01.DAT.html
.dat dosyasını memoya aktarmak
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Re: .dat dosyasını memoya aktarmak
dosyanın ilk satırında ascci kodu 32 den küçük karakterler var ve haliyle burayada çıkmadılar memoyada çıkmazlar. illede işlemek istiyorsan ilk satırı silmesisin.…ı0971
A321 ENGINE CRUISE REPORT <01>
A/C ID DATE UTC FROM TO FLT
CC TC-KTY DEC13 095921 LTAJ EGSS 0971
PH CNT CODE BLEED STATUS APU
C1 06 86406 5000 51 0010 0 0100 51 X
TAT ALT CAS MN GW CG DMU/SW
CE N320 34015 267 772 6992 237 C73003
ESN EHRS ERT ECYC AP QE
EC 779902 02344 06760 01493 73 09
EE 575246 09588 08719 05567 73
N1 N1C N2 EGT FF PS13
N1 0841 0841 0915 6036 1372 XXXXX
N2 0841 0841 0912 6052 1338 XXXXX
.............................................. kesildi
OIP OIT ECW1 SSEL
V7 042 090 00061 22222222222111
yada A321 ENGINE CRUISE REPORT <01> ifadesini ara bul bundan öncesini sil gitsin
Kişi odur ki, koyar dünyada bir eser. Eseri olmayanın yerinde yeller eser./Muhammed Hadimi
http://www.ibrahimkutluay.net
http://www.ibrahimkutluay.net/blog
http://www.ibrahimkutluay.net
http://www.ibrahimkutluay.net/blog
Re: .dat dosyasını memoya aktarmak
ilgili dosyayı aşağıdaki kodla download ettiğim zaman sadece kayıtlardan 1 tanesi tam olarak gelmekde geriye kalan 9 kayıt memoda gözükmemekde bunu nasıl düzeltebilirim?
Kod: Tümünü seç
procedure TForm1.Button1Click(Sender: TObject);
var
surucu,path,dosyaadi:string;
DATFILE:file;
begin
i:=0;
AssignFile(DATFile, 'C:\My Projects\A321 No1 ENGINE CRUISE READER\R01.dat');
Memo1.Lines.LoadFromFile('C:\My Projects\A321 No1 ENGINE CRUISE READER\R01.dat');
end;
Re: .dat dosyasını memoya aktarmak
Eğer veri içeriğinde herhangi bir yerde ASCII kontrol karakteri barınıyorsa, bunların direkt loadfromfile ile yüklenmesi söz konusu değildir. TFileStream ile bir örnek hazırladım. Aşağıdaki kodu inceleyebilirsiniz.
Forma bir tane TButton bir tane de TMemo koyup, aşağıdaki şekilde Dosyanızın adını ve yolunu belirleyiniz.
Sonuç şu şekilde oluyor. her kayıt araında bir $$$$$$ satırı eklenerek yansıtılıyor. Geriye parse işlemi kalıyor.
Forma bir tane TButton bir tane de TMemo koyup, aşağıdaki şekilde Dosyanızın adını ve yolunu belirleyiniz.
Kod: Tümünü seç
procedure TForm1.Button1Click(Sender: TObject);
Const
Rec = 'A321 ENGINE CRUISE REPORT <01>'; // 30 karakter
Var
Data : TFileStream;
Dosya : TFileName;
sOkunan : String;
Okunan : Array [0..Length(Rec)-1] of Byte;
sVeri : String;
i : integer;
Konum : dWord;
YeniVeri: Boolean;
begin
Dosya := 'e:\Downloads\R01.DAT';
Data := TFileStream.Create(Dosya, fmOpenRead OR fmShareDenyNone);
Konum := 0;
YeniVeri := False;
sVeri := '!'; // Daha önce hiç veri yoksa '!' içerir.
// En az 1 kere veri alanı bulunmuşsa ' ' içerir
// Bu bize bir veri bulunana kadar içerik okumasını engeller.
// Yani başlık kısmındaki kısım çöpe atılır.
while Data.Position < Data.Size do begin
ZeroMemory( @Okunan, SizeOf(Okunan) );
Data.Seek( Konum, soFromBeginning );
Data.Read( Okunan, SizeOf(Okunan));
sOkunan := '';
for i := 0 to High(Okunan) do
if Ord( Okunan[i] ) > 20 then begin
sOkunan := sOkunan + Chr( Ord( Okunan[i] ) );
end;
if sVeri[1] = ' ' then sVeri := sVeri + Chr( Ord( Okunan[0] ) );
if sOkunan = Rec
then YeniVeri := True;
if YeniVeri then begin
YeniVeri := False;
if sVeri[1] = ' ' then begin
Memo1.Lines.Add( StringOfChar('$', 100 ) );
Memo1.Lines.Add( sVeri );
end;
sVeri := ' ';
end;
Inc(Konum);
Application.ProcessMessages;
end;
Data.Free;
Memo1.Lines.Add('Bitti...');
end;
Kod: Tümünü seç
Memo1
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
321 ENGINE CRUISE REPORT <01>
A/C ID DATE UTC FROM TO FLT
CC TC-KTY DEC13 095921 LTAJ EGSS 0971
PH CNT CODE BLEED STATUS APU
C1 06 86406 5000 51 0010 0 0100 51 X
TAT ALT CAS MN GW CG DMU/SW
CE N320 34015 267 772 6992 237 C73003
ESN EHRS ERT ECYC AP QE
EC 779902 02344 06760 01493 73 09
EE 575246 09588 08719 05567 73
N1 N1C N2 EGT FF PS13
N1 0841 0841 0915 6036 1372 XXXXX
N2 0841 0841 0912 6052 1338 XXXXX
P25 T25 P3 T3 T5 VSV VBV
S1 XXXXX 0574 1415 4165 XXXX 011 018
S2 XXXXX 0580 1393 4197 XXXX 016 N00
HPT LPT GLE PD TN PT2 OIQH
T1 099 096 029 43 066 05411 0116
T2 099 096 016 33 068 05450 0051
VN VL PHA PHT VC VH EVM
V1 04 05 121 180 03 01 00004
V2 02 06 000 198 00 00 00000
STABLE DESCENT
VN VL PHA PHT N1
V3 03 00 018 194 0624
V4 11 05 252 333 0623
STABLE CLIMB
V5 03 03 120 130 0916
V6 10 15 164 211 0916
OIP OIT ECW1 SSEL
V7 044 075 00081 22222222222111
V8 044 068 00081 22222222222111
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
321 ENGINE CRUISE REPORT <01>
A/C ID DATE UTC FROM TO FLT
CC TC-KTY DEC13 173207 EGSS LTAJ 0972
PH CNT CODE BLEED STATUS APU
C1 06 86806 5000 53 0010 0 0100 53 X
TAT ALT CAS MN GW CG DMU/SW
CE N310 33000 276 780 7364 240 C73003
ESN EHRS ERT ECYC AP QE
EC 779902 02349 06766 01494 73 06
EE 575246 09593 08725 05568 73
N1 N1C N2 EGT FF PS13
N1 0845 0845 0918 6089 1464 XXXXX
N2 0845 0845 0915 6120 1431 XXXXX
P25 T25 P3 T3 T5 VSV VBV
S1 XXXXX 0592 1506 4208 XXXX 011 018
S2 XXXXX 0599 1482 4245 XXXX 017 N00
HPT LPT GLE PD TN PT2 OIQH
T1 099 091 030 43 048 05706 0119
T2 099 091 016 35 068 05746 0089
VN VL PHA PHT VC VH EVM
V1 04 04 134 183 03 01 00004
V2 03 09 132 230 00 00 00000
STABLE DESCENT
VN VL PHA PHT N1
V3 03 00 018 194 0624
V4 11 05 252 333 0623
STABLE CLIMB
V5 03 03 120 130 0916
V6 10 15 164 211 0916
OIP OIT ECW1 SSEL
V7 046 071 00061 22222222222111
V8 046 064 00061 22222222222111
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
321 ENGINE CRUISE REPORT <01>
A/C ID DATE UTC FROM TO FLT
CC TC-KTY DEC13 191137 LTAJ LCEN 0172
PH CNT CODE BLEED STATUS APU
C1 06 87406 5000 57 0010 0 0100 56 X
TAT ALT CAS MN GW CG DMU/SW
CE N200 26001 270 664 7143 262 C73003
ESN EHRS ERT ECYC AP QE
EC 779902 02350 06767 01495 73 07
EE 575246 09594 08726 05569 73
N1 N1C N2 EGT FF PS13
N1 0796 0796 0905 5626 1371 XXXXX
N2 0796 0796 0903 5676 1353 XXXXX
P25 T25 P3 T3 T5 VSV VBV
S1 XXXXX 0595 1504 4049 XXXX 029 039
S2 XXXXX 0586 1487 4071 XXXX 031 035
HPT LPT GLE PD TN PT2 OIQH
T1 099 075 029 43 075 07119 0102
T2 099 075 015 34 080 07155 0073
VN VL PHA PHT VC VH EVM
V1 03 04 147 208 04 01 00004
V2 04 06 180 257 00 00 00000
STABLE DESCENT
VN VL PHA PHT N1
V3 02 01 016 184 0617
V4 08 03 274 350 0617
STABLE CLIMB
V5 03 03 120 130 0916
V6 10 15 164 211 0916
OIP OIT ECW1 SSEL
V7 042 084 00081 22222222222111
V8 043 078 00081 22222222222111
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
321 ENGINE CRUISE REPORT <01>
A/C ID DATE UTC FROM TO FLT
CC TC-KTY DEC14 110252 LCEN LTBA 0003
PH CNT CODE BLEED STATUS APU
C1 06 87806 5000 51 0010 0 0100 51 X
TAT ALT CAS MN GW CG DMU/SW
CE N280 33993 268 775 7382 231 C73003
ESN EHRS ERT ECYC AP QE
EC 779902 02351 06768 01496 73 12
EE 575246 09595 08727 05570 73
N1 N1C N2 EGT FF PS13
N1 0859 0859 0929 6306 1468 XXXXX
N2 0859 0859 0926 6324 1441 XXXXX
P25 T25 P3 T3 T5 VSV VBV
S1 XXXXX 0646 1483 4350 XXXX 006 017
S2 XXXXX 0651 1459 4375 XXXX 011 N00
HPT LPT GLE PD TN PT2 OIQH
T1 099 083 028 43 074 05436 0401
T2 099 083 015 34 075 05465 0303
VN VL PHA PHT VC VH EVM
V1 03 06 124 160 04 01 00004
V2 03 12 126 215 02 00 00000
STABLE DESCENT
VN VL PHA PHT N1
V3 02 00 354 184 0624
V4 07 03 267 327 0624
STABLE CLIMB
V5 03 05 133 145 0915
V6 07 10 157 212 0916
OIP OIT ECW1 SSEL
V7 042 090 00061 22222222222111
V8 043 084 00061 22222222222111
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
321 ENGINE CRUISE REPORT <01>
A/C ID DATE UTC FROM TO FLT
CC TC-KTY DEC14 132248 LTBA LCEN 0004
PH CNT CODE BLEED STATUS APU
C1 06 88206 5000 51 0010 0 0100 51 X
TAT ALT CAS MN GW CG DMU/SW
CE N295 35008 259 767 6900 269 C73003
ESN EHRS ERT ECYC AP QE
EC 779902 02352 06769 01497 73 23
EE 575246 09596 08729 05571 73
N1 N1C N2 EGT FF PS13
N1 0851 0851 0923 6198 1353 XXXXX
N2 0851 0851 0921 6224 1322 XXXXX
P25 T25 P3 T3 T5 VSV VBV
S1 XXXXX 0614 1375 4263 XXXX 007 017
S2 XXXXX 0621 1355 4298 XXXX 012 N00
HPT LPT GLE PD TN PT2 OIQH
T1 099 091 028 42 074 05144 0172
T2 099 091 016 34 072 05172 0090
VN VL PHA PHT VC VH EVM
V1 04 06 092 161 03 01 00004
V2 02 09 137 223 01 00 00000
STABLE DESCENT
VN VL PHA PHT N1
V3 02 00 354 184 0624
V4 07 03 267 327 0624
STABLE CLIMB
V5 01 04 125 149 0915
V6 12 15 182 221 0915
OIP OIT ECW1 SSEL
V7 043 090 00081 22222222222111
V8 042 083 00081 22222222222111
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
321 ENGINE CRUISE REPORT <01>
A/C ID DATE UTC FROM TO FLT
CC TC-KTY DEC14 152610 LCEN LTBJ 0035
PH CNT CODE BLEED STATUS APU
C1 06 88506 5000 51 0010 0 0100 51 X
TAT ALT CAS MN GW CG DMU/SW
CE N275 34044 270 779 6907 222 C73003
ESN EHRS ERT ECYC AP QE
EC 779902 02353 06770 01498 73 14
EE 575246 09597 08730 05572 73
N1 N1C N2 EGT FF PS13
N1 0855 0855 0928 6265 1433 XXXXX
N2 0855 0855 0925 6272 1404 XXXXX
P25 T25 P3 T3 T5 VSV VBV
S1 XXXXX 0646 1457 4330 XXXX 007 017
S2 XXXXX 0653 1433 4352 XXXX 012 N00
HPT LPT GLE PD TN PT2 OIQH
T1 099 089 028 43 082 05437 0225
T2 099 089 015 35 084 05468 0157
VN VL PHA PHT VC VH EVM
V1 04 06 111 153 04 01 00004
V2 02 10 169 220 02 00 00000
STABLE DESCENT
VN VL PHA PHT N1
V3 02 00 026 173 0610
V4 03 03 275 326 0610
STABLE CLIMB
V5 02 05 100 132 0916
V6 07 08 176 212 0916
OIP OIT ECW1 SSEL
V7 042 091 00061 22222222222111
V8 042 086 00061 22222222222111
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
321 ENGINE CRUISE REPORT <01>
A/C ID DATE UTC FROM TO FLT
CC TC-KTY DEC14 180057 LTBJ LCEN 0036
PH CNT CODE BLEED STATUS APU
C1 06 88906 5000 53 0010 0 0100 53 X
TAT ALT CAS MN GW CG DMU/SW
CE N267 33003 270 764 7607 225 C73003
ESN EHRS ERT ECYC AP QE
EC 779902 02355 06772 01499 73 15
EE 575246 09599 08732 05573 73
N1 N1C N2 EGT FF PS13
N1 0851 0852 0927 6197 1447 XXXXX
N2 0852 0852 0924 6200 1421 XXXXX
P25 T25 P3 T3 T5 VSV VBV
S1 XXXXX 0645 1486 4313 XXXX 009 017
S2 XXXXX 0651 1463 4338 XXXX 014 N00
HPT LPT GLE PD TN PT2 OIQH
T1 099 092 028 43 077 05647 0163
T2 099 092 014 35 079 05679 0124
VN VL PHA PHT VC VH EVM
V1 05 04 151 189 03 01 00004
V2 02 10 120 217 01 00 00000
STABLE DESCENT
VN VL PHA PHT N1
V3 02 01 082 226 0624
V4 06 05 225 308 0624
STABLE CLIMB
V5 01 03 080 124 0916
V6 11 14 171 216 0916
OIP OIT ECW1 SSEL
V7 044 089 00081 22222222222111
V8 043 083 00081 22222222222111
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
321 ENGINE CRUISE REPORT <01>
A/C ID DATE UTC FROM TO FLT
CC TC-KTY DEC13 011924 EGSS LTAI 0956
PH CNT CODE BLEED STATUS APU
C1 06 85613 5000 51 0010 0 0100 51 X
TAT ALT CAS MN GW CG DMU/SW
CE N307 34993 262 773 6698 260 C73003
ESN EHRS ERT ECYC AP QE
EC 779902 02339 06755 01490 73 09
EE 575246 09583 08714 05564 73
N1 N1C N2 EGT FF PS13
N1 0839 0840 0915 6037 1299 XXXXX
N2 0839 0840 0912 6053 1264 XXXXX
P25 T25 P3 T3 T5 VSV VBV
S1 XXXXX 0581 1340 4168 XXXX 013 017
S2 XXXXX 0586 1319 4198 XXXX 018 001
HPT LPT GLE PD TN PT2 OIQH
T1 099 099 029 43 066 05175 0096
T2 099 098 015 33 071 05209 0070
VN VL PHA PHT VC VH EVM
V1 04 05 126 181 03 01 00004
V2 03 10 107 218 00 00 00000
STABLE DESCENT
VN VL PHA PHT N1
V3 XX XX XXX XXX XXXX
V4 XX XX XXX XXX XXXX
STABLE CLIMB
V5 03 05 114 150 0916
V6 08 11 189 219 0915
OIP OIT ECW1 SSEL
V7 044 075 00061 22222222222111
V8 043 068 00061 22222222222111
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
321 ENGINE CRUISE REPORT <01>
A/C ID DATE UTC FROM TO FLT
CC TC-KTY DEC13 031046 LTAI LCEN 0156
PH CNT CODE BLEED STATUS APU
C1 06 85802 4000 60 0011 0 1100 60 X
TAT ALT CAS MN GW CG DMU/SW
CE 0042 15617 283 567 7491 227 C73003
ESN EHRS ERT ECYC AP QE
EC 779902 02340 06756 01491 51 --
EE 575246 09584 08715 05565 51
N1 N1C N2 EGT FF PS13
N1 0631 0628 0866 5597 1091 XXXXX
N2 0630 0628 0866 5142 1021 XXXXX
P25 T25 P3 T3 T5 VSV VBV
S1 XXXXX 0516 1220 3701 XXXX 073 187
S2 XXXXX 0542 1236 3720 XXXX 087 085
HPT LPT GLE PD TN PT2 OIQH
T1 054 045 030 40 089 10168 0061
T2 051 045 015 34 091 10131 0041
VN VL PHA PHT VC VH EVM
V1 00 01 238 242 05 01 00004
V2 14 08 210 334 01 00 00000
STABLE DESCENT
VN VL PHA PHT N1
V3 XX XX XXX XXX XXXX
V4 XX XX XXX XXX XXXX
STABLE CLIMB
V5 03 05 114 150 0916
V6 08 11 189 219 0915
OIP OIT ECW1 SSEL
V7 038 087 00081 22222222222111
V8 040 083 00081 22222222222111
NO STABLE FRAME CONDITION
Bitti...
Re: .dat dosyasını memoya aktarmak
hocam elinize kolunuza sağlık tam istendiği gibi netice çıktı elleriniz dert görmesin.