Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|

10.06.2008, 22:09
|
|
Участник форума
Регистрация: 16.09.2006
Сообщений: 139
Провел на форуме: 513709
Репутация:
144
|
|
Обьясните дураку почему так работает
Код:
for i:=0 to razmer do
begin
BlockRead(myFile, oneByte, 1);
oneByte:= oneByte+c;
seek(myfile,i);
Blockwrite(cryptfile,oneByte,1);
seek(cryptfile,i);
end;
а так нет???
Код:
for i:=0 to razmer do
begin
seek(myfile,i);
BlockRead(myFile, oneByte, 1);
oneByte:= oneByte+c;
seek(cryptfile,i);
Blockwrite(cryptfile,oneByte,1);
end;
|
|
|

11.06.2008, 00:09
|
|
Участник форума
Регистрация: 10.01.2007
Сообщений: 140
Провел на форуме: 246020
Репутация:
105
|
|
В первом случае ты указываешь переместить указатель с которого начнется чтение в файле из которого читаешь, а во втором ты перемещаешь указатель в файле в который пишешь. конечно же ты будешь читать один и тот же байт. вообще попробуй так делать
Код:
var
FromName,
ToName : String;
myfile,
cryptfile : file;
NumRead,
NumWritten: Integer;
OneByte : Byte;
begin
AssignFile(myfile, FromName);
Reset(myfile, 1);
AssignFile(cryptfile, ToName);
Rewrite(cryptfile, 1);
repeat
BlockRead(myfile, OneByte, 1, NumRead);
oneByte:= oneByte+c;
BlockWrite(cryptfile, OneByte, 1, NumWritten);
until (NumRead = 0) or (NumWritten <> NumRead);
CloseFile(myfile);
CloseFile(cryptfile);
end;
|
|
|

11.06.2008, 00:15
|
|
Постоянный
Регистрация: 05.01.2007
Сообщений: 508
Провел на форуме: 2360904
Репутация:
1393
|
|
Сообщение от t04
В первом случае ты указываешь переместить указатель с которого начнется чтение в файле из которого читаешь, а во втором ты перемещаешь указатель в файле в который пишешь. конечно же ты будешь читать один и тот же байт. вообще попробуй так делать
Код:
var
FromName,
ToName : String;
myfile,
cryptfile : file;
NumRead,
NumWritten: Integer;
OneByte : Byte;
begin
AssignFile(myfile, FromName);
Reset(myfile, 1);
AssignFile(cryptfile, ToName);
Rewrite(cryptfile, 1);
repeat
BlockRead(myfile, OneByte, 1, NumRead);
oneByte:= oneByte+c;
BlockWrite(cryptfile, OneByte, 1, NumWritten);
until (NumRead = 0) or (NumWritten <> NumRead);
CloseFile(myfile);
CloseFile(cryptfile);
end;
Вообще, винапи рулит, зачем такой мазохизм?
Код:
BOOL ReadFile(
HANDLE hFile, // handle of file to read
LPVOID lpBuffer, // address of buffer that receives data
DWORD nNumberOfBytesToRead, // number of bytes to read
LPDWORD lpNumberOfBytesRead, // address of number of bytes read
LPOVERLAPPED lpOverlapped // address of structure for data
);
BOOL WriteFile(
HANDLE hFile, // handle to file to write to
LPCVOID lpBuffer, // pointer to data to write to file
DWORD nNumberOfBytesToWrite, // number of bytes to write
LPDWORD lpNumberOfBytesWritten, // pointer to number of bytes written
LPOVERLAPPED lpOverlapped // pointer to structure needed for overlapped I/O
);
|
|
|

11.06.2008, 00:32
|
|
Участник форума
Регистрация: 10.01.2007
Сообщений: 140
Провел на форуме: 246020
Репутация:
105
|
|
человек спрашивал конкретно за запись и чтение в посредством делфи а не апи, соответственно ответ вышел для конкретно его вопроса. если бы он не мог с апи разобраться то я бы исправил код на апи =)
|
|
|

12.06.2008, 10:24
|
|
Познающий
Регистрация: 14.02.2008
Сообщений: 62
Провел на форуме: 335706
Репутация:
4
|
|
как сделать чтоб логин: пасс брались с memo или listbox (емайлы)
|
|
|

12.06.2008, 12:41
|
|
Banned
Регистрация: 15.12.2005
Сообщений: 95
Провел на форуме: 1509352
Репутация:
132
|
|
Сообщение от /Boom\
как сделать чтоб логин: пасс брались с memo или listbox (емайлы)
Код:
var s:string;
n:integer;
begin
n:=123;
s:=Memo1.Lines.Strings[n];
s:=ListBox1.Items.Strings[n];
end;
|
|
|

12.06.2008, 16:45
|
|
Познающий
Регистрация: 14.02.2008
Сообщений: 62
Провел на форуме: 335706
Репутация:
4
|
|
это такого вида будет login  assword?
idsmtp1.Username:=
idsmtp1.Password:=
как сюда этот код вставить.
Последний раз редактировалось /Boom\; 12.06.2008 в 16:50..
|
|
|

12.06.2008, 17:48
|
|
Banned
Регистрация: 15.12.2005
Сообщений: 95
Провел на форуме: 1509352
Репутация:
132
|
|
Код:
var s:string;
n:integer;
begin
n:=123;
s:=Memo1.Lines.Strings[n];
s:=ListBox1.Items.Strings[n];
idsmtp1.Username:=copy(s,1,pos(':',s)-1);
delete(s,1,pos(':',s));
idsmtp1.Password:=s;
end;
|
|
|

12.06.2008, 19:34
|
|
Постоянный
Регистрация: 30.04.2008
Сообщений: 323
Провел на форуме: 379101
Репутация:
136
|
|
Также можно юзать TStringList
Код:
var
List: TStringList;
begin
List:=TStringList.Create;
List.LoadFromFile('accounts.txt');
|
|
|

12.06.2008, 21:09
|
|
Познающий
Регистрация: 14.02.2008
Сообщений: 62
Провел на форуме: 335706
Репутация:
4
|
|
n=123; что это ?
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|