Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 13.10.2011, 09:56
cyber922 cyber922 вне форума
Новичок
 
Регистрация: 07.10.2011
Сообщения: 77
Версия Delphi: Turbo Delphi 20
Репутация: 10
Вопрос ошибка "is not a valid integer value"

Код:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Memo1: TMemo;
    Edit1: TEdit;
    Panel1: TPanel;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
  f: TextFile;
  fName: String[80];
  buf: string[80]; begin
   fName := Edit1.Text; AssignFile(f, fName);
  {$I-}
  Reset(f); 
  {$I+}

  if IOResult <> 0 then
  begin
    MessageDlgt 'Database  connection error', mtError,[mbOK],0); // ругается вот тут.
end;
  end;
procedure TForm1.Button2Click(Sender: TObject);
var
  f: TextFile;
  fName: string[80];
  i: integer;begin
    fName := Edit1.Text;
  AssignFile(f, fName);
  Rewrite(f); // открыть для перезаписи
  // запись в файл
  for i := 0 to Memo1.Lines.Count do
    writeln(f, Memo1.Lines[i]);
  CloseFile(f); // закрыть файл
  MessageDlg('Данные записаны в файл ', mtlnformation, [mbOk], 0);
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
close;
end;

end. 
 И ещё вот задачка, вроде как ы скомпилировалось все, все работает НО при работе выдает ошибку 
 unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Button4: TButton;
    Button5: TButton;
    Button6: TButton;
    Button7: TButton;
    Edit1: TEdit;
    Memo1: TMemo;
    procedure Button6Click(Sender: TObject);
    procedure Edit1Change(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure Button5Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button7Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  n,i,min,max,s:integer;
  sr:real;
  a:array[1..1000]of integer;
implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
  min := a[1];
for  i:= 2 to n do          
if (min>a[i])then
min := a[i];
edit1.Text:='min = '+inttostr(min);
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
 max := a[1];
for  i:= 2 to n do           
if (max<a[i])then
max := a[i];
edit1.Text:='max = '+inttostr(max);
end;

procedure TForm1.Button3Click(Sender: TObject);
var

p:int64; begin
 p:= 1;
for i:= 1 to n do
p:=p*a[i];
edit1.Text := intToStr(p);
end;

procedure TForm1.Button4Click(Sender: TObject);
begin
s := 0;
for i:= 1 to n do           
s:=s+a[i];
edit1.Text := intToStr(s);
end;

procedure TForm1.Button5Click(Sender: TObject);
begin
  s := 0;
for i:= 1 to n do
s:=s+a[i];                  
edit1.Text := FloatToStr(s/n);
end;

procedure TForm1.Button6Click(Sender: TObject);
begin
randomize;
for i := 1 to n do begin
a[i]:=random(2000)-1000;
Memo1.Text:=memo1.Text+' ' + inttostr(a[i]);
end;
end;

procedure TForm1.Button7Click(Sender: TObject);
begin
form1.Close;
end;

procedure TForm1.Edit1Change(Sender: TObject);
begin
n:=strtoint(edit1.text);
end;
end.
Админ: Пользуемся тегами при оформлении кода!

текст ошибки выдает когда он всё подсчитал( причем выполняет все правильно) вот ошибка "is not a valid integer value" Что эт такое? помогите исправить эти ошибки.. заранеее спасибо)

Последний раз редактировалось Admin, 13.10.2011 в 10:01.
Ответить с цитированием
  #2  
Старый 13.10.2011, 09:57
Аватар для Ildar-tsr
Ildar-tsr Ildar-tsr вне форума
Местный
 
Регистрация: 09.08.2011
Адрес: г.Сургут, ХМАО
Сообщения: 453
Репутация: 7402
По умолчанию

А ты после MessageDlg скобочку открой:
Код:
MessageDlg('Database connection error', mtError,[mbOK],0);

А по второй задаче, в режиме отладки выясни где ругается и на что.
__________________
Google в помощь
Ответить с цитированием
  #3  
Старый 13.10.2011, 10:12
Аватар для PhoeniX
PhoeniX PhoeniX вне форума
Always hardcore!
 
Регистрация: 04.03.2009
Адрес: СПб
Сообщения: 3,239
Версия Delphi: GCC/FPC/FASM
Репутация: 62149
По умолчанию

По второй:
Код:
n:=strtoint(edit1.text);
Вот тут ругается у тебя. Проверять надо, что пользователь ввёл. Пустая строка естественно "валидным" числом не является.
__________________
Оставайтесь хорошими людьми...
VK id2634397, ds [at] phoenix [dot] dj
Ответить с цитированием
  #4  
Старый 13.10.2011, 12:00
cyber922 cyber922 вне форума
Новичок
 
Регистрация: 07.10.2011
Сообщения: 77
Версия Delphi: Turbo Delphi 20
Репутация: 10
Вопрос Ошибка

[quote=Ildar-tsr]А ты после MessageDlg скобочку открой:
Код:
MessageDlg('Database connection error', mtError,[mbOK],0);

да хоть десять скобок, все равно ругается...
Ответить с цитированием
  #5  
Старый 13.10.2011, 12:05
Аватар для Ildar-tsr
Ildar-tsr Ildar-tsr вне форума
Местный
 
Регистрация: 09.08.2011
Адрес: г.Сургут, ХМАО
Сообщения: 453
Репутация: 7402
По умолчанию

Цитата:
Сообщение от cyber922
да хоть десять скобок, все равно ругается...

Да ну.
Когда ругается что за ошибки выходят? Там внизу в окошке Build что написано?
__________________
Google в помощь
Ответить с цитированием
  #6  
Старый 13.10.2011, 12:11
cyber922 cyber922 вне форума
Новичок
 
Регистрация: 07.10.2011
Сообщения: 77
Версия Delphi: Turbo Delphi 20
Репутация: 10
Вопрос

Цитата:
Сообщение от Ildar-tsr
Да ну.
Когда ругается что за ошибки выходят? Там внизу в окошке Build что написано?
если ты имеешь вииду вот это
Цитата:
[Pascal Error] Unit1.pas(43): E2003 Undeclared identifier: 'MessageDlgt'
[Pascal Error] Unit1.pas(44): E2066 Missing operator or semicolon
[Pascal Error] Unit1.pas(47): E2029 Declaration expected but 'WHILE' found
[Pascal Error] Unit1.pas(49): E2003 Undeclared identifier: 'f'
[Pascal Error] Unit1.pas(50): E2003 Undeclared identifier: 'Memo1'
[Pascal Error] Unit1.pas(50): E2066 Missing operator or semicolon
[Pascal Error] Unit1.pas(51): E2029 '.' expected but ';' found
[Pascal Warning] Unit1.pas(54): W1011 Text after final 'END.' - ignored by compiler
[Pascal Fatal Error] Project1.dpr(5): F2063 Could not compile used unit 'Unit1.pas'
то вот
Ответить с цитированием
  #7  
Старый 13.10.2011, 12:12
Аватар для Ildar-tsr
Ildar-tsr Ildar-tsr вне форума
Местный
 
Регистрация: 09.08.2011
Адрес: г.Сургут, ХМАО
Сообщения: 453
Репутация: 7402
По умолчанию

MessageDlgt - t на конце убери.
__________________
Google в помощь
Ответить с цитированием
  #8  
Старый 13.10.2011, 12:17
cyber922 cyber922 вне форума
Новичок
 
Регистрация: 07.10.2011
Сообщения: 77
Версия Delphi: Turbo Delphi 20
Репутация: 10
По умолчанию Ошибка

Цитата:
Сообщение от Ildar-tsr
MessageDlgt - t на конце убери.
, вроде прокатило, но теперь ругается вот на это
Цитата:
mtlnformation
Вот что говорит build
Цитата:
[Pascal Error] Unit1.pas(44): E2003 Undeclared identifier: 'mtlnformation'
[Pascal Error] Unit1.pas(44): E2250 There is no overloaded version of 'MessageDlg' that can be called with these arguments
[Pascal Error] Unit1.pas(67): E2003 Undeclared identifier: 'mtlnformation'
[Pascal Error] Unit1.pas(67): E2250 There is no overloaded version of 'MessageDlg' that can be called with these arguments
[Pascal Fatal Error] Project1.dpr(5): F2063 Could not compile used unit 'Unit1.pas'
Ответить с цитированием
  #9  
Старый 13.10.2011, 12:41
Аватар для Ildar-tsr
Ildar-tsr Ildar-tsr вне форума
Местный
 
Регистрация: 09.08.2011
Адрес: г.Сургут, ХМАО
Сообщения: 453
Репутация: 7402
По умолчанию

Меня твоя невнимательность просто убивает! Помогаю по этому вопросу и все.
Код:
//надо
mtInformation
//а у тебя
mtlnformation
//если не видишь разницы посмотри и сравни
MTINFORMATION //надо
MTLNFORMATION //у тебя
__________________
Google в помощь
Ответить с цитированием
  #10  
Старый 13.10.2011, 13:05
cyber922 cyber922 вне форума
Новичок
 
Регистрация: 07.10.2011
Сообщения: 77
Версия Delphi: Turbo Delphi 20
Репутация: 10
Вопрос Ошибка

Цитата:
Сообщение от Ildar-tsr
Меня твоя невнимательность просто убивает! Помогаю по этому вопросу и все.
Код:
//надо
mtInformation
//а у тебя
mtlnformation
//если не видишь разницы посмотри и сравни
MTINFORMATION //надо
MTLNFORMATION //у тебя
Да всё уже,разобрался, просто когда долго сидишь, глаза перестают видеть элементарных вещей)))
Ответить с цитированием
Ответ


Delphi Sources

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

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 22:34.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter