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

Delphi Sources



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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 27.02.2010, 19:41
Byy Byy вне форума
Прохожий
 
Регистрация: 19.02.2010
Сообщения: 10
Репутация: 10
По умолчанию вывести в Edit число из файла

Здравствуйте, помогите пожалуйста.
Есть фаил f.txt в нем записано некоторое вещественное число. Необходимо его вывести в Edit.
Ответить с цитированием
  #2  
Старый 27.02.2010, 20:45
Аватар для Ultras
Ultras Ultras вне форума
Начинающий
 
Регистрация: 09.02.2010
Адрес: Россия / Ставрополь
Сообщения: 138
Репутация: 475
По умолчанию

Код:
var
  list: TStringList;
begin
  list := TStringList.Create;
  list.LoadFromFile('f.txt');
  Edit1.Text := list[0];
  list.Free;
end;
или так:
Код:
var
  myFile: TextFile;
  text: string;
begin
  AssignFile(myFile, 'f.txt');
  Reset(myFile);

  while not Eof(myFile) do
  begin
    ReadLn(myFile, text);
  end;
  CloseFile(myFile);

  Edit1.Text := text;
end;

P.S.: почитай это
__________________
Психических заболеваний НЕТ . Просто ДУРАК
Пусть лучше над тобой смеются, чем плачут...

Последний раз редактировалось Ultras, 27.02.2010 в 20:57.
Ответить с цитированием
  #3  
Старый 27.02.2010, 21:26
Byy Byy вне форума
Прохожий
 
Регистрация: 19.02.2010
Сообщения: 10
Репутация: 10
По умолчанию

спасибо буду пробовать
Ответить с цитированием
  #4  
Старый 27.02.2010, 21:30
Byy Byy вне форума
Прохожий
 
Регистрация: 19.02.2010
Сообщения: 10
Репутация: 10
По умолчанию

пробовал почитать "это" не понял. Я химик мне нужна программа расчета результатов анализа, сижу пишу. Спасибо за помощь.
Ответить с цитированием
  #5  
Старый 27.02.2010, 21:39
Аватар для Ultras
Ultras Ultras вне форума
Начинающий
 
Регистрация: 09.02.2010
Адрес: Россия / Ставрополь
Сообщения: 138
Репутация: 475
По умолчанию

ну мои примеры думаю вам подойдут, особенно второй
__________________
Психических заболеваний НЕТ . Просто ДУРАК
Пусть лучше над тобой смеются, чем плачут...
Ответить с цитированием
  #6  
Старый 27.02.2010, 22:06
Byy Byy вне форума
Прохожий
 
Регистрация: 19.02.2010
Сообщения: 10
Репутация: 10
По умолчанию

Возник еще один вопрос. Программа компилируется до строки:
Edit1.Text:=text; дальше пишет:
[Error] : Undeclared identifier: 'Edit1'
Ответить с цитированием
  #7  
Старый 27.02.2010, 22:24
Аватар для Ultras
Ultras Ultras вне форума
Начинающий
 
Регистрация: 09.02.2010
Адрес: Россия / Ставрополь
Сообщения: 138
Репутация: 475
По умолчанию

положите на форму компонент TEdit и назовите его Edit1, или измените мой код так, что бы подходил под ваш Edit
__________________
Психических заболеваний НЕТ . Просто ДУРАК
Пусть лучше над тобой смеются, чем плачут...
Ответить с цитированием
  #8  
Старый 27.02.2010, 22:39
Byy Byy вне форума
Прохожий
 
Регистрация: 19.02.2010
Сообщения: 10
Репутация: 10
По умолчанию

это я сделал, Edit у меня пятый, соответственно все пишу для пятого
Ответить с цитированием
  #9  
Старый 27.02.2010, 23:20
Аватар для Ultras
Ultras Ultras вне форума
Начинающий
 
Регистрация: 09.02.2010
Адрес: Россия / Ставрополь
Сообщения: 138
Репутация: 475
По умолчанию

если создали процедуру типа:
Код:
procedure FlRead;
begin
 // тут процедура чтения из файла и запись в Edit5
end;
то она не увидит Edit5 на форме, нужно объявлять процедуру внутри класса формы:
Код:
type
  TForm1 = class(TForm)
    Edit5: TEdit;
    // и т.д........
    procedure FlRead;
    // и т.д........
end;

procedure TForm1.FlRead;
var
  myFile: TextFile;
  text: string;
begin
  AssignFile(myFile,'f.txt');
  Reset(myFile);

  while not Eof(myFile) do
  begin
    ReadLn(myFile, text);
  end;
  CloseFile(myFile);

  Edit5.Text := text;
end;

или можно сделать так:
Код:
function FlRead(f_name: string): string;
var
  myFile: TextFile;
  text: string;
begin
  AssignFile(myFile,f_name);
  Reset(myFile);

  while not Eof(myFile) do
  begin
    ReadLn(myFile, text);
  end;
  CloseFile(myFile);

  Result := text;
end;
тогда не нужно будет объявлять процедуру в TForm1, а можно будет использовать функцию FlRead в любом месте кода (главное что бы она была выше используемого кода):
Код:
Edit5.Text := FlRead('f.txt');
__________________
Психических заболеваний НЕТ . Просто ДУРАК
Пусть лучше над тобой смеются, чем плачут...

Последний раз редактировалось Ultras, 27.02.2010 в 23:32.
Ответить с цитированием
  #10  
Старый 28.02.2010, 16:57
Byy Byy вне форума
Прохожий
 
Регистрация: 19.02.2010
Сообщения: 10
Репутация: 10
По умолчанию

Простите меня пожалуйста, но я уже запутался.
Ниже приведен фрагмент кода. Сделал все как написали. получилось откомпилировать. По замыслу при нажатой RadioButton2 мне нужно чтобы
программа брала число из Edit5 и записывала в файл memoKoef.txt. При не нажатой RadioButton2 программа должна это число из файла считать и вывести в Edit5 после чего продолжить с ним работать дальше. Если набираю число с клавиатуры то все нормально считает. А указанные выше операции выполнять не хочет.


type
TForm1 = class(TForm)
Panel1: TPanel;
Label1: TLabel;
Label2: TLabel;
Edit1: TEdit;
Panel2: TPanel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Edit2: TEdit;
Edit3: TEdit;
Panel3: TPanel;
Label6: TLabel;
Label7: TLabel;
Edit4: TEdit;
Panel4: TPanel;
Label8: TLabel;
Edit5: TEdit;
Button1: TButton;
Memo1: TMemo;
RadioButton1: TRadioButton;
Edit6: TEdit;
Edit7: TEdit;
Label9: TLabel;
Label10: TLabel;
Label11: TLabel;
Edit8: TEdit;
Button2: TButton;
RadioButton2: TRadioButton;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure Button1Click(Sender: TObject);
procedure RadioButton1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure RadioButton2Click(Sender: TObject);
procedure FlRead;


private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
Xn1:real;
V1,V2,V3,V4:real;
Vnp1,Vnp2:real;
C1,C2,C3,C4:real;
csr1,csr2:real;
K,rk,sk,rn:real;
i,p:Byte;
myFile: TextFile;
text: string;



TextC1:AnsiString;
TextC2:AnsiString;
TextC3:AnsiString;
TextC4:AnsiString;
TextCsr1:AnsiString;
TextCsr2:AnsiString;
TextSk:AnsiString;
TextRk:AnsiString;
TextRn:AnsiString;

const
Mr=35.45;
Vk=1000;
s1=0.16; {ïîãðåøíîñòü}
s2=0.11;
s3=0.09;
r1=0.14; {ïðåäåë ïîâòîðÿåìîñòè}
r2=0.08;
r3=0.06;

implementation

{$R *.dfm}

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
if FileExists('memo.txt') then
Memo1.Lines.SaveToFile('memo.txt');
end;

procedure TForm1.RadioButton1Click(Sender: TObject);
begin
if RadioButton1.Checked then i:=1
else i:=0;
end;

procedure TForm1.RadioButton2Click(Sender: TObject);
begin
if RadioButton2.Checked then p:=1
else p:=0;
end;

procedure TForm1.FlRead;

begin {èíèöèàëèçàöèÿ ôàèëà, ÷òåíèå ïåðåìåííîé}
if p=0 then
begin
AssignFile(myFile, 'memoKoef.txt');
Reset(myFile);

while not Eof(myFile) do
begin
ReadLn(myFile, text);
end;
Edit1.Text := text;

end
else
Write(f,Edit5.Text);
CloseFile(f);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
Ответить с цитированием
  #11  
Старый 28.02.2010, 17:04
Byy Byy вне форума
Прохожий
 
Регистрация: 19.02.2010
Сообщения: 10
Репутация: 10
По умолчанию

поправил ошибки с именем переменной myFile. Доходит до
Edit5.Text := text;
и пишет:
[Error] ChlorideIon.pas(119): Left side cannot be assigned to
Ответить с цитированием
  #12  
Старый 28.02.2010, 17:17
Byy Byy вне форума
Прохожий
 
Регистрация: 19.02.2010
Сообщения: 10
Репутация: 10
По умолчанию

все тоже самое, только ошибку теперь пишет после
ReadLn(myFile, text);
Ответить с цитированием
Ответ


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

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

ВКонтакте   Facebook   Twitter