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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 03.02.2011, 19:09   #1
snake91135
 
Регистрация: 29.01.2011
Сообщений: 6
По умолчанию В чём ошибка при написании программы?

Пишу программу в Delphi не могу понять в чем ошибка и как закончить программу

Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient,
  IdHTTP, StdCtrls, ShellApi;

type
  TForm1 = class(TForm)
    Memo1: TMemo;
    Memo2: TMemo;
    Button1: TButton;
    IdHTTP1: TIdHTTP;
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

sMemo1.Text:=IdHttp1.Get('http://ma11.3dn.ru/update/versions.sw'); // ошибка здесь
sMemo2.Lines.LoadFromFile('version.sw');

If sMemo1.Text>sMemo2.Text then begin // как здесь заставить качать обновление из http://ma11.3dn.ru/update/? в самом низу вроде бы есть функция...

end

else

begin

 ShellExecute(h, 'open', PChar(ExtractFilePath(Application.ExeName)+'Counter-Strike Source.exe'), nil, nil, SW_SHOW);

end.

 function GetInetFile(const fileURL, FileName: String): boolean;
const BufferSize = 1024;
var hSession, hURL: HInternet;
Buffer: array[1..BufferSize] of Byte;
BufferLen: DWORD;
f: File;
sAppName: string;
begin
Result:=False;
sAppName := ExtractFileName(Application.ExeName);
hSession := InternetOpen(PChar(sAppName), INTERNET_OPEN_TYPE_PRECONFIG,
nil, nil, 0);
try
hURL := InternetOpenURL(hSession,
PChar(fileURL),nil,0,0,0);
try
AssignFile(f, FileName);
Rewrite(f,1);
repeat
InternetReadFile(hURL, @Buffer, SizeOf(Buffer), BufferLen);
BlockWrite(f, Buffer, BufferLen)
until BufferLen = 0;
CloseFile(f);
Result:=True;
finally
InternetCloseHandle(hURL)
end
finally
InternetCloseHandle(hSession)
end
end;

Последний раз редактировалось snake91135; 03.02.2011 в 20:18.
snake91135 вне форума Ответить с цитированием
Старый 03.02.2011, 19:18   #2
veniside
Старожил
 
Регистрация: 03.01.2011
Сообщений: 2,508
По умолчанию

У тебя ошибка везде. Выдрал кусок незвестно откуда, влепил в середину модуля, компилируй, Дельфи!
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
veniside вне форума Ответить с цитированием
Старый 03.02.2011, 19:45   #3
snake91135
 
Регистрация: 29.01.2011
Сообщений: 6
По умолчанию

Да, это не одна ошибка, подскажи пожалуйста, как их исправить? Почему sMemo1 не катит?

Я пытался сделать как здесь http://s-talker.com/archive/index.php/t-1236.html

Последний раз редактировалось Stilet; 03.02.2011 в 20:12.
snake91135 вне форума Ответить с цитированием
Старый 03.02.2011, 19:53   #4
veniside
Старожил
 
Регистрация: 03.01.2011
Сообщений: 2,508
По умолчанию

> Почему sMemo1 не катит?

А почему, если в мопед воткнуть двигатель от танка, он тоже не покатит?

Потому, что верхний кусок модуля, вероятно, твой, а нижний, очевидно, чужой. Ну нет у тебя sMemo1, и Дельфи за тебя его не объявит.

Поступи так: выдай нижний кусок кода за твои наработки, запости в "помощь студентам" и объясни, чё ты хочешь. Может, кто и поведётся )
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
veniside вне форума Ответить с цитированием
Старый 03.02.2011, 19:59   #5
snake91135
 
Регистрация: 29.01.2011
Сообщений: 6
По умолчанию

при
var
sMemo1, sMemo2, Form1: TForm1;

ошибка там же, что я не так делаю?
snake91135 вне форума Ответить с цитированием
Старый 03.02.2011, 20:06   #6
vovk
!=
Участник клуба
 
Аватар для vovk
 
Регистрация: 08.09.2008
Сообщений: 1,751
По умолчанию

Цитата:
Сообщение от snake91135 Посмотреть сообщение
при
var
sMemo1, sMemo2, Form1: TForm1;

ошибка там же, что я не так делаю?
Класс)))

Для начала переименойте ваши memo1 и memo2 в smemo1 и соответственно smemo2. Кликните на объект на форме и в объект инспекторе измените значение напротив name
а это
var
sMemo1, sMemo2, Form1: TForm1; уберите немедленно пока никто не видит))

Последний раз редактировалось vovk; 03.02.2011 в 20:11.
vovk вне форума Ответить с цитированием
Старый 03.02.2011, 20:15   #7
snake91135
 
Регистрация: 29.01.2011
Сообщений: 6
По умолчанию

сделал, их названия на форме изменились, но ошибка там же( Declaration expected but identifier 'sMemo1' found
snake91135 вне форума Ответить с цитированием
Старый 03.02.2011, 21:18   #8
vovk
!=
Участник клуба
 
Аватар для vovk
 
Регистрация: 08.09.2008
Сообщений: 1,751
По умолчанию

Дак понятно, в теле какой процедуры или функции это у вас происходит?
Вот вот ни в какой,
Даа похоже вы вообще не понимаете как и что происходит в коде
судя по всему это должно происходить по нажатию кнопки, на форме даблклик по кнопке и пишите туда действия по загрузке данных из файла, и получения данных с инета.
Модуль должен заканчиватся end. эндом с точкой.. и вообще..
Цитата:
// как здесь заставить качать обновление из http://ma11.3dn.ru/update/? в самом низу вроде бы есть функция...
вызов функции туда и надо писать.
В общем начали бы вы с изучения ID сначала, а потом как пару примеров из учебника напишите, и поймёте от куда ноги растут брались чтото делать.
vovk вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
при написании любой программы выдает одну и ту же ошибку mordes Visual C++ 2 12.01.2011 00:16
В чём ошибка при создании файла? If-then-do Помощь студентам 6 24.09.2010 20:27
В чём ошибка при регистрации cheef Общие вопросы Delphi 2 01.05.2009 08:28
Предлагаю сотрудничать, при написании программы. misterio8800 Фриланс 17 19.11.2008 21:27