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

Delphi Sources



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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 15.11.2008, 14:53
CyberDemon CyberDemon вне форума
Прохожий
 
Регистрация: 10.11.2008
Сообщения: 13
Репутация: 10
По умолчанию Как сохранить написанное в edit в txt

уже замучался. помогите пожалуйста. в общем ситуация такова -
Пишу программу в которой нужно будет зарегистрироваться, данные о регистрации сохранятются в текстовый файл. При последующих запусках необходимо считать данные из текстовика, если таковые данные есть, то пропустить, если нет, то выдать ошибку. Помогите пожалуйста, я сегодня весь день сижу над этим, уже весь гугл обошел (((.
За ранее благодарю
Ответить с цитированием
  #2  
Старый 15.11.2008, 15:19
Drozh Drozh вне форума
Активный
 
Регистрация: 12.06.2008
Сообщения: 313
Репутация: 40
По умолчанию

Гляди в сторону либо *.ini файлов либо Реестра
Создаешь два параметра: Имя и Пароль
При каждом запуске программы проверяешь на наличие этих параметров,
если они присутствуют то продолжаешь если нет требуешь юзера ввести
Ответить с цитированием
  #3  
Старый 15.11.2008, 15:31
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию

Все просто
смотри
Код:
var SaveStream:TMemoryStream;
      Text:String;
begin
  savestream:=tmemorystream.create;
  text:=edit1.text;
  savestream.write(text,length(text));
  savestream.savetofile('FileName.txt');
  savestream.free;
end;
можно использовать TextFile но потоки более удобны.
как работать с TextFile;
Код:
var f:textfile;
begin
  assignfile(f,'c:\123.txt');
  rewrite(f);
  write(f,text);
  closefile(f);
end;
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию
Ответить с цитированием
  #4  
Старый 15.11.2008, 15:38
CyberDemon CyberDemon вне форума
Прохожий
 
Регистрация: 10.11.2008
Сообщения: 13
Репутация: 10
По умолчанию

Drozh
Будет много пользователей и это все сохранять в реестре будет жирно...

M.A.D.M.A.N
Спс, попробую
к стате:
Цитата:
var SaveStream:TMemoryStream;
Text:String;
begin
savestream:=tmemorystream.create;
text:=edit1.text;
savestream.write(text,length(text));
savestream.savetofile('FileName.txt');
savestream.free;
end;
Мне нужно с двух edit считать данные и в один тхт сохранить, как код подправить?
Ответить с цитированием
  #5  
Старый 16.11.2008, 14:34
CyberDemon CyberDemon вне форума
Прохожий
 
Регистрация: 10.11.2008
Сообщения: 13
Репутация: 10
По умолчанию

Народ ну помогите плз
Ответить с цитированием
  #6  
Старый 16.11.2008, 14:47
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию

Код:
var SaveStream:TMemoryStream;
Text:String;
begin
savestream:=tmemorystream.create;
text:=edit1.text;
savestream.write(text,length(text));
text:=edit2.text;
savestream.write(text,length(text));
savestream.savetofile('FileName.txt');
savestream.free;
end;
Вот и все.
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию
Ответить с цитированием
  #7  
Старый 16.11.2008, 14:51
ART ART вне форума
Продвинутый
 
Регистрация: 13.02.2006
Адрес: Магнитогорск
Сообщения: 669
Репутация: 14745
По умолчанию

Думаю, этих функций хватит:

Код:

unit Unit1;

interface

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

type
  TUser  =  record
   Password: string;
   Name: string;
  end;

type
  TForm1  =  class(TForm)
    Edit1: TEdit;
    Edit2: TEdit;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { private declarations }
  public
    { public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R  * .dfm}

function User(N,  P: string): TUser;
begin
 Result.Name  :=  N;
 Result.Password  :=  P;
end;

procedure AddUser(User: TUser);
begin
 AssignFile(output,  'C:\Users.txt');
 Append(output);
  Writeln(User.Name);
  Writeln(User.Password);
 CloseFile(Output);
end;

function UserExists(User: TUser): boolean;
var
 P,  N: string;
begin
 AssignFile(input,  'C:\Users.txt');
 Reset(input);
 while not eof(input) do begin
  readln(N);
  readln(P);
  if (User.Name  =  N) and (User.Password  =  P) then begin
   Result  :=  true;
   CloseFile(input);
   exit;
  end;
 end;
Result  :=  false;
CloseFile(input);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
 if UserExists(User(Edit1.Text,  Edit2.Text))  =  false then Showmessage('Ты кто такой? Иди нафиг отсюда!') else Showmessage('Добро пожаловать!');
end;

end.
Ответить с цитированием
  #8  
Старый 16.11.2008, 19:57
CyberDemon CyberDemon вне форума
Прохожий
 
Регистрация: 10.11.2008
Сообщения: 13
Репутация: 10
По умолчанию

M.A.D.M.A.N.
ART
СПАСИБО БОЛЬШОЕ, ПРЕМНОГО БЛАГОДАРЕН!!!
Ответить с цитированием
  #9  
Старый 30.11.2008, 18:18
CyberDemon CyberDemon вне форума
Прохожий
 
Регистрация: 10.11.2008
Сообщения: 13
Репутация: 10
По умолчанию

Народ и снова я ....
Вот такая задача -
AssignFile(f,'C:\WINDOWS\system\' +Edit3.text + '.dll'); \\\\Здесь сохраняю в файл
ReWrite(f);
Writeln(f, Edit3.text); //записываем в линию 0 (Логин)
Writeln(f, Edit5.text); //записываем в линию 1 (пароль)

И далее мне надо, что бы все, кто регистрируется в программе, сохранялись в отдельный файл, что то типо такого:

Цитата:
AssignFile(f, 'C:\WINDOWS\system\Information.dll');\\\\ сюда вот сохраяем
ReWrite(f);
Writeln(f,#10+#13 +Edit3.text+' ' +Edit5.text+#10+#13); \\\ вот здесь мне необходимо, что бы все время начиналось с новой строки, т.е. что бы предыдущие строки не затирались. Если у нас в файле 255 строк то он запишет в 256
Closefile(f); {Closes file F}
Ответить с цитированием
  #10  
Старый 01.12.2008, 08:20
Act Act вне форума
Новичок
 
Регистрация: 01.11.2008
Сообщения: 72
Репутация: 10
По умолчанию

длл то тут причем? так для мулежа? ну а так код верно записан что не нравится или не работает?
Ответить с цитированием
Ответ


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

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

ВКонтакте   Facebook   Twitter