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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 24.05.2009, 15:05   #1
svobodys
Пользователь
 
Регистрация: 07.10.2008
Сообщений: 42
По умолчанию Ошибка '' is not valid integer value

Вот при запуске ошибка вылазиет. Хотя раньше прога работала.

Код:
unit MainUnit;

interface

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

type
  ElemPtr = ^Elem;

  Elem = record
    item: integer;
    next: ElemPtr;
  end;

  TfmMain = class(TForm)
    btCreateList: TButton;
    edCount: TEdit;
    Label1: TLabel;
    edList: TEdit;
    Label2: TLabel;
    btSumma: TButton;
    edSumma: TEdit;
    procedure btCreateListClick(Sender: TObject);
    procedure btSummaClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  fmMain: TfmMain;
  Count: integer;
  Start: ElemPtr;
implementation

{$R *.dfm}

procedure TfmMain.btCreateListClick(Sender: TObject);
var
  p1,p2: ElemPtr;
  i: integer;
begin
  Randomize;
  Count := StrtoInt(edCount.Text);
  label2.Visible:=True;
  edList.Visible:=True;
  btSumma.Visible:=True;
  new(p1);
  Start:=p1;
  edList.Text:='';
  edSumma.Text:='';
  for i:=1 to Count do
  begin
    p1.item:=Random(100)-50;
    edList.Text:=edList.Text+InttoStr(p1.item)+' ';
    new(p2);
    p1.next:=p2;
    p1:=p2;
  end;
  p2.next:=Nil;   
end;

procedure TfmMain.btSummaClick(Sender: TObject);
var
  p1,p2: ElemPtr;
  Summa: integer;
begin
  p1:=Start;
  edSumma.Visible:=True;
  Summa:=0;
  while p1<>Nil do
  begin
    if p1.item<0 then
      Summa:=Summa+p1.item;
    p1:=p1.next;
  end;
  edSumma.Text:=InttoStr(Summa);
end;

end.
___________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)
Не забывайте об этом!
Модератор.

Последний раз редактировалось Serge_Bliznykov; 13.12.2011 в 09:32.
svobodys вне форума
Старый 24.05.2009, 15:37   #2
Viteef
stopfake.org
Участник клуба
 
Регистрация: 03.05.2007
Сообщений: 1,927
По умолчанию

В edCount.Text не число. Может пробел невидимый. Обрабатывай эдиты хотя бы так trim(edit.text).

Последний раз редактировалось Viteef; 24.05.2009 в 15:41.
Viteef вне форума
Старый 23.11.2011, 22:43   #3
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Судя по сообщению об ошибке там вообще пустая строка в Integer конвертируется. Ставьте точку останова на команде с StrToInt и смотрите в отладке. Кстати на точке останова можно и условие задать для ее активизации. Используйте try ... except
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума
Старый 12.12.2011, 22:15   #4
nighthigt
Новичок
Джуниор
 
Регистрация: 12.12.2011
Сообщений: 1
Восклицание кто-нибудь поможет?

уменя вылетает "is not a valid integer value" помогите пожалуйста


Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Menus, TeeProcs, TeEngine, Chart, StdCtrls, ExtCtrls, Grids;


const
 namef='prodaji.dat';
type
prodaji=record
  nkassi:integer;
  fam:string[15];
  name:string[10];
  otch:string[10];
  kolp:integer;
  sum:real;
   end;
  TForm1 = class(TForm)
    Panel1: TPanel;
    StringGrid1: TStringGrid;
    Chart1: TChart;
    RadioGroup1: TRadioGroup;
    Button1: TButton;
    Edit1: TEdit;
    OpenDialog1: TOpenDialog;
    MainMenu1: TMainMenu;
    N1: TMenuItem;
    N2: TMenuItem;
    N3: TMenuItem;
    N4: TMenuItem;
    N5: TMenuItem;
    Button2: TButton;
    procedure StringGrid1Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  f:file of prodaji;
  w:prodaji;

  i:integer;
implementation

{$R *.dfm}

procedure TForm1.StringGrid1Click(Sender: TObject);

begin

if fileexists(namef)then
begin
assignfile(f,namef);
reset(f);
showmessage('file open');
end;
begin
stringgrid1.FixedCols:=0;
stringgrid1.colCount:=6;
with stringgrid1 do
begin
colwidths[0 ]:=100;
colwidths[1 ]:=100;
colwidths[2 ]:=100;
colwidths[3 ]:=100;
colwidths[4 ]:=100;
colwidths[5 ]:=100;
cells[0,0]:='номер кассы';
cells[1,0]:='фамилия';
cells[2,0]:='имя';
cells[3,0]:='отчество';
cells[4,0]:='количество продаж';
cells[5,0]:='сумма';
end;
end;
end;
//поиск в таблице
procedure TForm1.Button1Click(Sender: TObject);

var
b:boolean;
maska:string;
k,i,m:integer;
gridr:tgridrect;
begin

b:=false;
m:=0;
maska:=trim(edit1.Text);
with stringgrid1 do
begin
i:=0;m:=0;
repeat
inc(m);
if pos(maska,cells[1,i])=1 then
begin
b:=true;k:=i;
inc(m);
 end;
 until(i=rowcount-1);
 end;
gridr.Left:=0;
gridr.Top:=k-m+1;
gridr.Right:=stringgrid1.colcount-1;
gridr.Bottom:=k;
 stringgrid1.Selection:=gridr;

end;
procedure TForm1.Button2Click(Sender: TObject);
var
  user: prodaji;
begin
  with user do
  begin
    w.nkassi:=StrToInt(StringGrid1.Cells[1,i]);
    w.fam:=trim(StringGrid1.Cells[2,i]   );
    {name:=(StringGrid1.Cells[i,2]);}
    w.Name:=(StringGrid1.Cells[3,i]);
    w.otch:=(StringGrid1.Cells[4,i]);
    w.kolp:=StrToInt(StringGrid1.Cells[5,i]);
    w.sum:=strtoint(StringGrid1.Cells[6,i]);
  end;
end;

end.

___________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)
Не забывайте об этом!
Модератор.
Изображения
Тип файла: png 2011-12-12_220906.png (7.2 Кб, 103 просмотров)
Тип файла: jpg 2011-12-12_221328.jpg (6.9 Кб, 125 просмотров)

Последний раз редактировалось Serge_Bliznykov; 13.12.2011 в 09:33.
nighthigt вне форума
Старый 12.12.2011, 22:49   #5
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

Код:
w.nkassi:=StrToInt(StringGrid1.Cell s[1,i]);
i чему равно?

i==0,а StringGrid1.Cells[1,0] == 'Фамилия', а это не число)
Понято?
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"
Mad_Cat вне форума
Закрытая тема


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка [Error] UPER.pas(57): Incompatible types: 'Integer' and 'Pointer' Pirotexnik Общие вопросы Delphi 4 27.03.2009 11:04
Integer ben95 Помощь студентам 5 03.03.2009 16:05
при пустой ячейке выскакивает "is not a valid floating point value" ПОМОГИТЕ serserser Помощь студентам 17 14.11.2007 07:46
integer, for, if в Pascal boom99 Помощь студентам 3 12.11.2007 16:25
Ошибка '0.0' is not a valid timestamp MegaCrazzy БД в Delphi 4 21.03.2007 17:22