• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

типизированные файлы

  • Автор темы romanriddick
  • Дата начала
R

romanriddick

всем добрый день !!!
не могу разобратса с банальщиной, подскажыте пожалста как работать з типизированными файлами в делфи
файл то открывает , но цыфры там совсем другие чем в файле...
почему то если пишу read(f,fi.a);
то выскакивает ошибка
раньше не использовал типизированные файлы (да и вопше делфи ))), по етому не знаю как роботать



Код:
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Menus, StdCtrls;

type
TForm1 = class(TForm)
Memo1: TMemo;
MainMenu1: TMainMenu;
Load1: TMenuItem;
OpenDialog1: TOpenDialog;
Clear1: TMenuItem;
Button1: TButton;
procedure Load1Click(Sender: TObject);
procedure Clear1Click(Sender: TObject);

private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;


implementation

{$R *.DFM}
//-------------------------------------------------------------
procedure TForm1.Load1Click(Sender: TObject);
type ty = record
a :array [0..20] of double;
end;
var
fi:ty;
f: file of ty;
s,bufer_str:string;
i,j:integer;
asb:array [0..20] of ty;
begin
i:=0;
with opendialog1 do begin
initialdir:='c:\';
if execute then
begin
memo1.clear;
assignfile(f,filename);
reset(f);
while not eof(f) do
begin
bufer_str:='';
read(f,fi);
for j:=0 to 20 do
bufer_str:=bufer_str+floattostr(fi.a[j])+' ';
memo1.lines.add(bufer_str);
i:=i+1;
end;
{ for j:=0 to i do
a[j]:=strtofloat(asb[j]);
showmessage (asb[10]); }
//wend
end
else form1.close;
//endif
end;
closefile(f);
end;
//-------------------------------------------------------------
procedure TForm1.Clear1Click(Sender: TObject);
begin
Memo1.clear;
end;

//-------------------------------------------------------------




end.
 
R

romanriddick

какую тайну уважаемый, что за загадки???)))
хотел присвоить a данные из файла что здесь не понятно ???
почему оно не работает ето я и без вас не понимаю)))

а ошибка типа нелзя перевести тип ty на double
 
E

etc

1 не а, а a[j]
2 а зачем вам вообще i ?
3 что говорить отладчик про fi после read(f,fi); ?
4 ошибки "типа" не бывает, они всегда конкретные
 
R

romanriddick

возможно не правильно выразилса ...
1) i нам нужно если пишем read(f,fi.a)
3)read(f,fi); если пишем так , то отладчик не ругаетса , но в мемо заносятса неправильніе результаті
если read(f,fi.a) то дальше строки не идет
4) incompetibel types 'ty' and 'double'
 
R

romanriddick

Показывайте что в файле, что прочитали и что в мемо.


memo
4,16297605980692E-62 3,11844582219198E-33 4,5633520063938E-72 4,56335200744982E-72 6,01347050783683E-154 6,01360127238708E-154 6,04420359299646E-154 1,58058670320262E-153 5,94312963088795E-38 6,37693634016659E-67 2,16987968362707E-76 2,72824799055797E-57 6,01347001909006E-154 6,01347039687221E-154 6,01361278688351E-154 6,03983344933351E-154 1,2091252135366E-153 6,38129438572328E-67 8,60969891404268E-67 2,89875860916847E-57 1,89238947457996E-52
2,99063837190373E-67 6,0134705741706E-154 6,01356719775392E-154 6,03691996821003E-154 1,58263177046736E-153 2,73949092318183E-57 1,83221571905488E-76 6,00880600621405E-67 1,24019636606066E-47 4,5633520075152E-72 6,01347057469359E-154 6,01359558273316E-154 6,03837109574478E-154 1,28342072943058E-153 2,63345611013044E-52 4,08296832440043E-33 8,57616641319173E-43 4,16297605981136E-62 6,01347001839408E-154 6,01347057469427E-154 6,01359007037558E-154
6,03835969333936E-154 1,3591626608304E-153 4,66151745166682E-33 5,34619410641377E-38 3,85461375584795E-57 2,36942782871925E-38 6,01347001874309E-154 6,01347041927447E-154 6,01357862308187E-154 6,04564327340471E-154 1,50745886056668E-153 3,70005417350638E-33 1,79494641474182E-52 2,58014022694198E-57 6,01347001700689E-154 2,99063837160079E-67 6,0134704859569E-154 6,01357282168321E-154 6,04852241307306E-154 1,65662907630678E-153 9,05798637567119E-43
2,5845376623473E-57 1,12964370570623E-42 1,55282822182927E-33 6,01347001917722E-154 6,01347057477974E-154 6,01357866710393E-154 6,0456432517788E-154 1,28313276214355E-153 2,17631446520514E-76 1,08585312869607E-42 2,00372748206338E-52 4,56335200639457E-72 4,56335200804231E-72 6,01347037481693E-154 6,01357855587781E-154 6,04126694881663E-154 1,87921166084409E-153 2,5261883466869E-52 7,49103955783637E-67 5,8645817998471E-62 1,08246438400681E-71
4,5633520079095E-72 6,01347050766318E-154 6,01360707387291E-154 6,03690296401877E-154 1,80550229087787E-153 1,31532402348485E-47 1,17818822478539E-47 5,93501299489045E-38 3,49084243253564E-33 2,99063837168783E-67 6,01347053015126E-154 6,01358989186129E-154 6,04561468898733E-154 1,80433692987935E-153 1,45002614462992E-47 8,16278336621587E-43 1,83016789710441E-76 1,78798460309245E-52 4,56335200804179E-72 6,01347039678539E-154 6,01360145029494E-154
6,04418087604897E-154 1,2842981367912E-153 2,42178199412129E-52 2,58454009321265E-57 1,65554400200786E-47 4,56335200639329E-72 4,56335200751339E-72 6,01347052988908E-154 6,0135899368381E-154 6,04126168227372E-154 1,73120794476278E-153 6,37986245646894E-67 9,74353371565736E-72 1,03698284475275E-42 1,47898619922101E-76 4,56335200764749E-72 6,01347046338133E-154 6,01357860042047E-154 6,04562037881594E-154 1,80433235070112E-153 1,65502727538199E-47
1,13051951724643E-42 3,53599537362145E-57 1,56534788477203E-76 2,99063837177369E-67 6,01347039652457E-154 6,01361283142585E-154 6,04565449885701E-154 1,20825577285592E-153 2,58205817969753E-57 4,65848741982714E-33 3,85461375584794E-57 8,12775090461514E-43 2,99063837181687E-67 6,01347044106555E-154 6,01359564889226E-154 6,04274117289896E-154 1,20970562507673E-153 6,52170222499347E-38 2,00460042204784E-76 1,71915580210806E-47 4,40606259410392E-62
6,01347001908904E-154 6,01347048569507E-154 6,01359569395488E-154 6,04416936242489E-154 1,20854710065897E-153 4,42419344007741E-62 6,22896281323246E-38 5,15241421891511E-62 6,35219735689125E-67 2,99063837186039E-67 6,01347052980292E-154 6,0135843127368E-154 6,04854530739559E-154 1,20795643393512E-153 4,17917814756577E-62 3,21679844544334E-57 6,37827771263017E-67 4,40606259410392E-62 2,99063837173101E-67 6,01347037473111E-154 6,01357295487273E-154
6,04416378304029E-154 1,28458606408594E-153 4,85635270157973E-33 7,49982922634226E-67 4,42220505926618E-62 7,09403858702738E-67 6,01347001848159E-154 6,01347037473109E-154 6,01356157452125E-154 6,0383369988857E-154 1,65692157772645E-153 3,94371400293581E-62 1,57279199429312E-76 1,6909206991287E-52 4,40606259410237E-62 4,5633520075816E-72 6,01347044080508E-154 6,01360709662213E-154 6,03982200177865E-154 1,2825409034306E-153 1,3696749115151E-71
1,3821389650423E-47 4,42410417281533E-62 2,72824799055769E-57 4,56335200758135E-72 6,01347041901297E-154 6,01358433548402E-154 6,04852810298849E-154 1,58029650900653E-153 4,6645090962691E-33 7,12736348603069E-67 9,1642886183301E-72 3,49084243253564E-33 6,01347001891572E-154 6,01347048569506E-154 6,01359000317186E-154 6,05001892942253E-154 1,43346153694519E-153 8,24025590457832E-67 8,97627280315359E-67 1,02984593623336E-71 1,65170957032336E-76
4,56335200764543E-72 6,01347057469156E-154 6,01360138369935E-154 6,03687449013799E-154 1,65604069428372E-153 4,42701614595808E-62 2,42259913825743E-52 1,57175754111994E-76 1,65170957032329E-76 6,0134700190039E-154 6,01347044080474E-154 6,01359564906659E-154 6,04416954050641E-154 1,73063094324715E-153 4,01271983004109E-57 6,01760133451933E-67 9,02458192177567E-43 1,28446939972266E-57 4,56335200764672E-72 6,01347044124056E-154 6,013584335659E-154
6,05000763780808E-154 1,28224963789952E-153 1,08779117277061E-71 5,34841376318126E-38 1,57175754111994E-76 2,36942782871965E-38 6,01347001848226E-154 6,01347044071825E-154 6,01360714098944E-154 6,04274681913964E-154 1,50746342642573E-153 1,45137095278436E-47 4,279270003516E-33 9,16649947748021E-72 3,49084243253651E-33 2,99063837190441E-67 6,01347041909946E-154 6,01357286604952E-154 6,04562055715726E-154 1,35829887901565E-153 2,52823558180698E-52
3,31334866303006E-33 9,16649947748021E-72 7,67933539603241E-43 1,95994476343913E-62 6,01347037429867E-154 6,01360125024465E-154 6,04269558411056E-154 1,65516554081784E-153 5,06151335192632E-38 5,05454017547569E-38 4,42315461604076E-62 9,69268395521632E-72 6,01347001891775E-154 6,01347046372931E-154 6,01356715329908E-154 6,05001328430381E-154 1,43229505123074E-153 1,51976755473518E-47 3,53604156006296E-57 6,01347001699909E-154 2,9906383709099E-67
6,01347001883093E-154 6,01347037403549E-154 6,01360711876357E-154 6,04418089828232E-154 1,35683420960717E-153 9,50116754184689E-43 4,46885373241662E-33 9,92141293894355E-43 4,1629760598118E-62 6,01347001874173E-154 6,01347055255111E-154 6,01356713089886E-154 6,04852828106933E-154 1,28371546694555E-153 1,20098284317167E-71 6,81785793234558E-38 4,18101763852388E-62 4,56335200639483E-72 4,56335200751469E-72 6,01347041918663E-154 6,01361272002097E-154
6,0441695398118E-154 1,80666994190833E-153 1,83154101838651E-76 4,46734909964756E-33 6,20822359596048E-38 5,51675406451969E-48 6,01347001883026E-154 6,01347050748886E-154 6,01357284382397E-154 6,04563184833757E-154 1,50775579890802E-153 2,00498295050362E-52 1,69214419371644E-52 1,65554400200787E-47 6,01347001700656E-154 6,0134700189164E-154 6,01347044124023E-154 6,01357848911026E-154 6,05000203723747E-154 1,87979775788852E-153 6,75511321605189E-67
7,87075550121042E-67 4,8517827721405E-33 1,55282822182901E-33 1,95994476321318E-62 6,01347048587007E-154 6,01361263085864E-154 6,03690860939797E-154 1,28429588734198E-153 1,31373499331633E-71 5,05117257500622E-38 9,3441937245275E-67 5,51675406452E-48 1,95994476324115E-62 6,01347037455746E-154 6,01357853356337E-154 6,03691436668433E-154 1,50629691817111E-153 2,00258563712197E-76 1,36965498760436E-71 2,89813630764069E-57 5,51675406452125E-48
1,95994476324148E-62 6,01347050748919E-154 6,0135956487203E-154 6,05000759361305E-154 1,65487420353333E-153 2,52577903408002E-52 4,90844118435363E-62 5,8645817998471E-62 1,08246438400671E-71 6,01347001882788E-154 6,01347039643706E-154 6,01357279902185E-154 6,04564322946439E-154 1,50717320970684E-153 4,17825823546223E-62 1,14371986395026E-71 9,02458192177568E-43 1,56534788477211E-76 2,99063837199027E-67 6,01347046303301E-154 6,01356715321191E-154
6,03978230374185E-154 1,35916832889994E-153 2,31860220408996E-52 2,00392572137947E-76 1,03698284475275E-42 6,01347001700452E-154 6,01347001865728E-154 6,01347052988908E-154 6,01356710910438E-154 6,04709998049195E-154 1,65545918503072E-153 5,34504649552018E-38 5,64122460613149E-38 1,91079462697424E-76 6,01347001700656E-154 4,5633520076462E-72 6,01347046355498E-154 6,01359558273147E-154 6,05001910785068E-154 1,87863465905062E-153 6,38706209718266E-67
6,01760133451933E-67 4,18101763852388E-62 4,56335200639483E-72 2,99063837160181E-67 6,01347046294584E-154 6,01360700762326E-154 6,03832546268097E-154 1,50775022007877E-153 3,22054457985699E-57 6,52742817574593E-38 2,62322357499399E-52 1,89238947458005E-52 2,99063837173051E-67 6,01347037421152E-154 6,01360138387268E-154 6,03690869839515E-154 1,35916606135608E-153 6,52516845935859E-38 3,50518640234838E-33 1,91686693298954E-76 8,12775090461594E-43
4,5633520075152E-72 6,01347057452062E-154 6,01357282159573E-154 6,04418085434845E-154 1,73121362168863E-153 1,24662777955287E-47 1,12666594646953E-42 9,73247941990689E-72 4,40606259410259E-62 4,5633520075152E-72 6,01347044071892E-154 6,01356728666596E-154 6,04561480038575E-154 1,87979092481555E-153 2,90067916370958E-57 6,53087200685186E-38 3,11995045496104E-33 1,89238947458015E-52 6,01347001839578E-154 6,01347044124022E-154 6,01360142849948E-154
6,05000201500989E-154 1,28458947791344E-153 2,004576600052E-52 2,31734992805655E-52 4,42315461604076E-62 4,16297605981224E-62 6,01347001839408E-154 6,01347048552107E-154 6,01358991452368E-154 6,04125594789735E-154 1,73178836040112E-153 2,89938091069625E-57 5,35530142539311E-38 1,39835946934969E-76 3,61545994372464E-43 2,9906383719034E-67 6,01347044150206E-154 6,01358426819514E-154 6,04997929840936E-154 1,58145958976715E-153 2,42137256950013E-52
1,65811922667088E-76 5,05454017547571E-38 5,032729245143E-38 4,56335200751571E-72 6,01347046355497E-154 6,01357851168345E-154 6,03691427734629E-154 1,80462483018841E-153 5,64468218747859E-38 1,90220610693454E-52 2,73882711652744E-57 5,3266028328491E-38 2,99063837177436E-67 6,01347055194402E-154 6,01357282124672E-154 6,04419225492406E-154 1,50804827839532E-153 1,03140914009138E-71 4,08522527355401E-33 4,64914912838985E-62 2,7282479905587E-57
1,95994476326889E-62 6,01347037455712E-154 6,01361267557362E-154 6,04270700909698E-154 1,8795018820085E-153 6,12863302810577E-62 2,10897669226425E-52 1,03006702214837E-71 2,99063837091024E-67 4,56335200797668E-72 6,01347050766386E-154 6,0136069408567E-154 6,04125596978407E-154 1,73179746037544E-153 1,08668062559099E-71 4,91603763855024E-62 2,42134696801528E-52 1,28446939972207E-57 4,56335200797641E-72 6,01347053032321E-154 6,01359002522613E-154
6,03981064339495E-154 1,58146525780196E-153 7,72328334542009E-43 2,31982399979454E-52 2,10813235355135E-52 9,69268395521325E-72 6,0134700183951E-154 6,01347053023638E-154 6,01358986997999E-154 6,04998478793497E-154 1,58204338403351E-153 1,38294608810857E-47 6,38707304093546E-67 5,39455119643199E-62 2,99063837091024E-67 2,99063837164431E-67 6,01347046372965E-154 6,0135899365776E-154 6,049996190861E-154 1,35887246159838E-153 4,76418694728842E-38
4,91509179098181E-62 1,44546469579462E-47 5,0327292451438E-38 4,56335200751494E-72 6,01347050774832E-154 6,01357864504796E-154 6,04420368173316E-154 1,28255011009734E-153 8,16119595779926E-43 2,58142615470837E-57 4,46734909964758E-33 1,55282822182971E-33 2,99063837173067E-67 6,01347039687323E-154 6,01360711893688E-154 6,04274123958138E-154 1,58291856413777E-153 4,27482663486989E-33 4,85403972129406E-33 1,57142019078576E-76 1,78798460309198E-52
2,99063837173034E-67 6,01347052971746E-154 6,01356713116033E-154 6,04561471078079E-154 1,50774677895302E-153 7,40333612528329E-38 6,82475007871251E-38 5,05454017547571E-38 1,2401963660606E-47 1,95994476324115E-62 6,01347048517579E-154 6,01359576064069E-154 6,03982771409498E-154 1,73062526187579E-153 3,85590714713058E-57 1,90057318772563E-52 1,65744452600252E-76 2,99063837091125E-67 1,95994476338243E-62 6,0134704855214E-154 6,01356148500616E-154
файл
130 10982 1090 11656 7117 17595 6415 22948 31126 9004 14558 3571 22879 18492 1360 5412 26721 22463 25047 27119 31441 7190 13985 31214 27509 30252 26571 14779 19816 21681 19651 17995 23593 3734 13310 3979 21995 15561 16092 18489 11288 28466 8664 5892 13863 22766 5364 17639 21151 20427 100 25795 8812 15108 12666 12347 19042 19774 9169 5589 26383 9666 10941 13390 7878 13565 1779 16190 32233 53 13429 2285 2422 8333 31937 11636 13268 6460 6458 6936 8160 24842 29142 29667 24115 15116 17418 1156 4279 15008 15859 19561 8297 3755 22981 21275 29040 28690 1401 18137 16735 20343 25267 8312 7111 7733 10993 18554 4353 20126 1018 31086 6970 26484 20614 23431 23999 18086 18730 5504 10891 28492 27015 20143 31246 32484 32180 24168 16704 9679 23528 9365 20966 16135 5740 18323 12580 25378 12736 21327 4164 4748 11020 30113 21445 21249 23243 21480 21672 23625 32691 13799 18422 12344 32231 480 30870 14821 7776 17903 16205 20522 23192 19113 25878 14172 121 27381 23461 32332 14982 11562 30774 21118 18505 22889 7323 10152 29436 2365 31365 20079 2683 27762 23826 22109 30313 16179 9367 22310 10146 11623 24752 32028 30177 8013 13446 29935 13747 11094 29025 4778 4763 10563 4974 20459 31111 8831 3281 32099 8051 7103 2798 17294 28764 29656 8693 20147 29287 21472 2732 16926 26962 27785 24193 20125 17948 31930 32207 2104 12016 23918 3184 22326 11096 3794 12421 8269 16543 666 32642 40 2695 8100 17788 13855 7212 15057 4791 6706 13624 288 15211 14918 5961 3851 13783 31396 1951 12582 649 21935 18698 2550 2795 5862 6675 6416 8722 11546 874 24435 5059 28656 656 7463 28103 29849 23749 25622 28529 19921 9780 31785 19309 21270 18781 21671 10186 19243 6851 32460 2123 5580 17624 28070 3818 12467 6181 30516 16046 13259 3006 21185 11439 8371 31205 4221 19302 8566 25854 18013 15418 4745 20659 28214 21321 29702 31592 12565 14708 7720 993 7137 22701 21767 18226 31028 32389 6036 743 19574 24816 17879 1909 10812 29020 31336 1760 27104 10738 13101 19374 27744 16683 9554 25613 29820 28567 22670 3392 19468 13290 26004 27471 12959 16712 29655 22767 20826 978 21123 23471 12303 26481 18616 2149 26524 19682 30985 25560 3463 22787 29749 2991 5335 2652 22308 13210 8245 16625 4133 17087 324 9287 10087 7527 24893 5044 9909 26345 20175 3308 31862 18391 11574 13513 30180 1128 16538 28250 11404 28454 21418 11312 775 984 12921 26596 3319 14002 30360 27629 32324 17339 24693 23456 32152 2688 14836 9608 30233 16887 32331 19433 17510 4278 17187 12175 23252 21845 7917 18652 14570 11040 2177 31505 21019 30465 27646 28124 16322 2221 28894 6435 23139 7182 11608 28432 5665 18161 17146 20573 15995 7921 8327 14049 27979 9123 25871 16988 22784 14595 8269 4991 22043 15903 27717 8511 10216 3074 7198 29787 31871 26851 31805 29996 12282 15247 24484 14253 13048 2836 30345 29130 12370 5807 10810 2029 19997 4600 31281 23495 9696 20812 5747 18780 20503 29307 13102

Добавлено: при файле меншых розмеров то же самое
 
E

etc

Ну так и чего ж вы хотите? типизированные файлы и текстовые это не одно и тоже, в рамках тут.
 
R

romanriddick

Ну так и чего ж вы хотите? типизированные файлы и текстовые это не одно и тоже, в рамках тут.

да я ево открыл как типизированный f: file of ty; ... обясните пожалста тогда в чем разница , как написать для типизированного???
 
E

etc

Никак, текстовы читают как текстовые, типизация у них уже есть - текст. А ни какая ни другаю.

Добавлено: Сначала создайте себе типизированный по типу ty, потом и читайте его.
 
R

romanriddick

тесть нужно сначала создать типизированный файл (какого формата тогда???)
а потом считать с нево инфу??? а зачем же так??)))
а в мемо ево никак не занести тогда???
 
E

etc

Если вы хотите кушать то надо сначала иметь еду, иначе потом как сказать что ты кушал без еды?
 
R

romanriddick

etc, спасибо за помощь , оперативность и терпение (никогда раньше не требовалось от меня написать прогу на делфи ... в с++ както привычнее и проще)...

большой вам за ето +

Добавлено: странно что компилятор не ругаетса на ошибку (ето видь она и есть )))
сам бы не догадалса
 
E

etc

странно что компилятор не ругаетса на ошибку
Ошибки нет, вот и не ругается. Работа с файлом это рантайм, и компилятор при компилировании ваще без понятия что вы там будете, и будете ли читать. Он пологается на вашу честность. И кстати в си все точно также, только другими словами.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!