Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.11.2011, 20:54   #1
Garmon
Пользователь
 
Регистрация: 28.04.2011
Сообщений: 47
По умолчанию Перевод строк типа string в...

Код:
unit Main;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Buttons, Grids;

type
  TForm1 = class(TForm)
    StringGrid1: TStringGrid;
    BitBtn1: TBitBtn;
    OpenDialog1: TOpenDialog;
    procedure BitBtn1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
  TMyClass=class
   private
     markauto:string[26];
     maxspeed:word;
     razgondo100:real;
     rasxod:byte;
  end;
  TVec=array of TmyClass;
var
  Form1: TForm1;
  Fnew:TextFile;
  Fname:string;
  Vec:Tvec;
implementation

{$R *.dfm}


procedure TForm1.BitBtn1Click(Sender: TObject);
var

i:integer;st,x,y,z:string;
begin
OpenDialog1.Execute;
AssignFile(FNew,OpenDialog1.Filename);
Reset(FNew);
i:=0;
StringGrid1.Cells[0,0]:='Ìàðêà Àâòîìîáèëÿ';
StringGrid1.Cells[1,0]:='Ìàêñèìàëüíàÿ ñêîðîñòü â [êì/÷àñ]';
StringGrid1.Cells[2,0]:='Ðàçãîí äî 100 [êì/÷àñ] â [ñåê]';
StringGrid1.Cells[3,0]:='Ðàñõîä òîïëèâà íà 100[êì] â [ëèòð]';
StringGrid1.Cells[4,0]:='Ãèäðî óñèëèòåëü ðóëÿ';
StringGrid1.Cells[5,0]:='Îáúåì áàãàæíèêà [ë]';
StringGrid1.Cells[6,0]:='Òèï ïðèâîäà';
While not EOF(Fnew) do begin
StringGrid1.RowCount:=i+1;
Readln(Fnew,st);
SetLength(vec,i+1);

Vec[i]:=TMyClass.Create;
Vec[i].markauto:=copy(st,1,25);
StringGrid1.Cells[0,i+1]:=Vec[i].markauto;

x:=copy(st,26,4);
Vec[i].maxspeed:=StrToInt(x);
StringGrid1.Cells[1,i+1]:=IntToStr(Vec[i].maxspeed);

{y:=copy(st,31,5);
Vec[i].razgondo100:=StrToFloat(y);
StringGrid1.Cells[2,i+1]:=FloatToStr(Vec[i].razgondo100);}

z:=copy(st,36,3);
Vec[i].rasxod:=StrToInt(z);
StringGrid1.Cells[3,i+1]:=IntToStr(Vec[i].rasxod)};

vec[i].Free;
inc(i);
end;
CloseFile(fnew);
end;

end.
То что закоментино не работает.На этапе выполнения,выдает ошибку типо не правильно конвектирован тип.Что делать?
Garmon вне форума Ответить с цитированием
Старый 13.11.2011, 21:53   #2
chertovich
Форумчанин
 
Аватар для chertovich
 
Регистрация: 26.07.2009
Сообщений: 489
По умолчанию

можно описание Vec[i].razgondo100 ?
Если в глубине души вы программист, то, следуя своим наклонностям, вы захотите написать кусок кода.
chertovich вне форума Ответить с цитированием
Старый 13.11.2011, 22:01   #3
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Код:
Vec[i].razgondo100:=StrToFloat(y);
- в y данные, которые не могут быть преобразованы в real. Наиболее частая ошибка такого рода - программа ожидает, что в качестве десятичной точки используется запятая, а там точка. Или наоборот. См. DecimalSeparator. Пустая строка тоже ошибку даст
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось mihali4; 14.11.2011 в 17:05.
Аватар вне форума Ответить с цитированием
Старый 14.11.2011, 00:50   #4
chertovich
Форумчанин
 
Аватар для chertovich
 
Регистрация: 26.07.2009
Сообщений: 489
По умолчанию

Либо в y содержится лишние символы.
Если в глубине души вы программист, то, следуя своим наклонностям, вы захотите написать кусок кода.

Последний раз редактировалось mihali4; 14.11.2011 в 17:04.
chertovich вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перевод из переменной типа string в byte AnderoN Помощь студентам 2 09.05.2011 13:20
Обработка символьных строк (данных типа String). Legky Помощь студентам 4 12.12.2010 17:49
in Формула типа String out результат типа Double Gypsy Общие вопросы Delphi 3 16.04.2010 10:21
массив типа string dollemika Помощь студентам 13 02.05.2009 23:15