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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.12.2009, 15:52   #1
Ckomoroh
Я еще только учусь
Форумчанин
 
Аватар для Ckomoroh
 
Регистрация: 24.10.2009
Сообщений: 125
По умолчанию Перевести сhar в integer

Я задался целью сделать кликер.
Перемещать курсор и имитировать клик я умею, теперь нужно чтобы координаты, куда нужно переместить курсор, и действия читались из файла.
Например: в файле записано

10 10
cl

Программа должна переместить курсор в точку с координатами(10,10) и имитировать клик.
Но чтобы прочесть файл нужна переменная char, а координаты должны быть числового типа....

Вопрос: как перевести char в integer...

Заранее благодарен.
Ckomoroh вне форума Ответить с цитированием
Старый 12.12.2009, 15:55   #2
Selestis
Форумчанин
 
Аватар для Selestis
 
Регистрация: 21.01.2009
Сообщений: 719
По умолчанию

Код:
var f: text;
x,y: integer;
s: string;

assign(f,'file.txt');
reset(f);
readln(f,x,y);
readln(s);
if s = 'cl' then OnClick;
Close(f);
Изобретатель велосипедов
Selestis вне форума Ответить с цитированием
Старый 12.12.2009, 16:03   #3
vovk
!=
Участник клуба
 
Аватар для vovk
 
Регистрация: 08.09.2008
Сообщений: 1,751
По умолчанию

а разве Strtoint не работает?
vovk вне форума Ответить с цитированием
Старый 12.12.2009, 16:10   #4
Ckomoroh
Я еще только учусь
Форумчанин
 
Аватар для Ckomoroh
 
Регистрация: 24.10.2009
Сообщений: 125
По умолчанию

Не работет:

f:text;
assign(f,'file.txt');(файл создан)
close(f);

Изменил

f:textfile;
assignfile(f,'file.txt');
closefile(f);

Но все равно не читает - выдает ошибку:
Project Project1.exe raised exception class EInOutError with message 'I/o error 6'. Process stopped. Use Step or Run to continue.
Ckomoroh вне форума Ответить с цитированием
Старый 12.12.2009, 16:26   #5
Ckomoroh
Я еще только учусь
Форумчанин
 
Аватар для Ckomoroh
 
Регистрация: 24.10.2009
Сообщений: 125
По умолчанию

vovk.
Сделал, получилось, но читает только данные в столбик,
т.е.
в файле:
10 10
cl
код:
readln(main,xs,ys);
read(main,ds);
-это не работает, та же ошибка, а при
в файле:
10
10
cl
код:
readln(main,xs);
readln(main,ys)
read(main,ds);
-это работает(main - переменная файла)
Ckomoroh вне форума Ответить с цитированием
Старый 12.12.2009, 16:26   #6
Proof
Пользователь
 
Регистрация: 20.02.2008
Сообщений: 63
По умолчанию

Код:
var
f: TextFile;
s1,s2: String;
begin
AssignFile(f, 'd:\File.txt');
Try
  reset(f);
  Readln(f, s1, s2);
  ShowMessage(s1+' '+s2);
Finally
  CloseFile(f);
End;

end;
Proof вне форума Ответить с цитированием
Старый 12.12.2009, 16:26   #7
Proof
Пользователь
 
Регистрация: 20.02.2008
Сообщений: 63
По умолчанию

Код:
var
f: TextFile;
s1,s2: String;
begin
AssignFile(f, 'd:\File.txt');
Try
  reset(f);
  Readln(f, s1, s2);
  ShowMessage(s1+' '+s2);
Finally
  CloseFile(f);
End;

end;
Proof вне форума Ответить с цитированием
Старый 12.12.2009, 16:42   #8
vovk
!=
Участник клуба
 
Аватар для vovk
 
Регистрация: 08.09.2008
Сообщений: 1,751
По умолчанию

я бы на вашем месте всё в ини файле организовал и не мучался, но если хочется своего формата, то определяй структуру файла, обозначай разделители, считывай потом всё в рекорды и используй как нужно..
Всёже это описано в любом учебнике, читай о типизированых файлах и всё.
vovk вне форума Ответить с цитированием
Старый 12.12.2009, 16:46   #9
Ckomoroh
Я еще только учусь
Форумчанин
 
Аватар для Ckomoroh
 
Регистрация: 24.10.2009
Сообщений: 125
Печаль

Код:
var
f: TextFile;
x,y: String;
begin
AssignFile(f, 'main.txt');
Try
  reset(f);
  Readln(f,x,y);
Finally
CloseFile(f);
End;
end;
x, y - не переводятся в integer, проверил x='10 10',а y='';
Ckomoroh вне форума Ответить с цитированием
Старый 12.12.2009, 17:23   #10
Neeter
Форумчанин
 
Аватар для Neeter
 
Регистрация: 22.02.2009
Сообщений: 875
По умолчанию

Код:
procedure TForm1.Button1Click(Sender: TObject);
var
 f: TextFile;
 sx,sy: string;
 act: string;
 x, y: integer;
begin
 AssignFile(f, 'C:\pos.txt');
 try
  reset(f);
  Readln(f,sx);
  sy := Copy(sx, Pos(' ', sx) + 1, Length(sx));
  Delete(sx, Pos(' ', sx), Length(sx));
  Readln(f, act);
  x := StrToInt(sx); y := StrToInt(sy);
  if act = 'cl' then
  begin
   SetCursorPos(x, y);
   Mouse_Event(MOUSEEVENTF_LEFTDOWN, x, y, 0, 0);
   Mouse_Event(MOUSEEVENTF_LEFTUP, x, y, 0, 0);
  end;
 finally
  CloseFile(f);
 end;
end;
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство.
Neeter вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
integer Xcopy Общие вопросы Delphi 8 13.09.2009 17:03
Integer ben95 Помощь студентам 5 03.03.2009 16:05
integer, for, if в Pascal boom99 Помощь студентам 3 12.11.2007 16:25
перевести число, находящееся в string, в integer? andrey4623 Паскаль, Turbo Pascal, PascalABC.NET 4 23.06.2007 00:32
как перевести из integer в real(и обратно), и из real в string(и обратно) Ga-sergey Общие вопросы Delphi 2 08.06.2007 21:13