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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.02.2013, 09:45   #11
SW00001
Пользователь
 
Регистрация: 21.01.2013
Сообщений: 39
По умолчанию

Да я и не просил сделать за меня) я надеялся что хотя бы покажут примерный код, а дальше я уже сам всё сделаю.
И за эту наводку спасибо)
SW00001 вне форума Ответить с цитированием
Старый 07.02.2013, 09:55   #12
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

SW00001, если речь идёт о диалогах, где пользователь может задать какой файл читать или в какой писать, то это делается так.
1. кидайте на форму два контрола TOpenDialog (для выбора файла для чтения) и TSaveDialog (для выбора файла, куда будет сохранятся).

на событии открытия файла пишете что-то вроде
Код:
  // Запускаем диалог выбора файла для чтения
  if  OpenDialog1.Execute
    then
      begin
          // тут осуществляете чтение из файла с именем  OpenDialog1.FileName;
      end;
на событии сохранения файла пишете что-то вроде
Код:
  // Запускаем диалог выбора файла для сохранения
  if SaveDialog1.Execute
    then
      begin
        // тут осуществляете запись в файл с именем SaveDialog1.FileName;
      end;

а вообще, учитесь читать справку. Ведь имена компонентов Вам подсказали - осталось выбрать их, нажать F1 и прочитать...

Последний раз редактировалось Serge_Bliznykov; 07.02.2013 в 10:23.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 07.02.2013, 09:55   #13
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

Цитата:
я надеялся что хотя бы покажут примерный код
примерный код по этому (и тысяче других вопросов которые возникнут) есть как раз в книгах. На 50-70% (и более) книги состоят из такого вот "примерного" кода на многие случаи жизни начинающего (да и не только) программиста.
вторым источником "примерного" кода есть справка (F1 Examples)
следующий источник "Program Files\Borland\Delphi7\Demos"
и еще один источник google Seach/форум поиск FileSaveDialog
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 07.02.2013, 10:20   #14
SW00001
Пользователь
 
Регистрация: 21.01.2013
Сообщений: 39
По умолчанию

Спасибо за подсказки...решил проблему
Цитата:
procedure TForm1.Button33Click(Sender: TObject);
var
ini: TIniFile;
begin
if SaveDialog1.Execute=True then
ini:=TIniFile.Create(SaveDialog1.Fi leName + '.ini');
ini.writestring('edit1','Text',edit 1.Text );
end;
А если много Эдитов то мне все придётся прописывать вот так ini.writestring('edit1','Text',edit 1.Text ); ? или можно как нибуть упростить, а то их у меня около 700 штук...
SW00001 вне форума Ответить с цитированием
Старый 07.02.2013, 10:37   #15
VIK_aka_TOR
Участник клуба
 
Аватар для VIK_aka_TOR
 
Регистрация: 30.01.2011
Сообщений: 1,578
По умолчанию

Цитата:
Сообщение от SW00001 Посмотреть сообщение
Спасибо за подсказки...решил проблему

А если много Эдитов то мне все придётся прописывать вот так ini.writestring('edit1','Text',edit 1.Text ); ? или можно как нибуть упростить, а то их у меня около 700 штук...
примерно так
Код:
for i:=0 to Form1.ComponentCount-1 do 
  if Components[i].ClassNameIs('TEdit') then
    // действия
или же если они у вас динамически созданы, то сразу пустить через индекс... как обычный массив, только компонентов
пишу код не только за печеньки

Последний раз редактировалось VIK_aka_TOR; 07.02.2013 в 10:40.
VIK_aka_TOR вне форума Ответить с цитированием
Старый 07.02.2013, 10:44   #16
3D Hunter
Сумрачная тень
Форумчанин
 
Аватар для 3D Hunter
 
Регистрация: 05.03.2009
Сообщений: 689
По умолчанию

ТС,вы в порядке?700 контролов...сколько времени вам понадобилось,чтобы расставить их на форме?чтобы не писать 700 строчек кода,в цикле используйте функцию findcomponent().
"ковыряю изнутри" (с)
3D Hunter вне форума Ответить с цитированием
Старый 07.02.2013, 10:56   #17
SW00001
Пользователь
 
Регистрация: 21.01.2013
Сообщений: 39
По умолчанию

Да я их уже раставил и прописал коды расчёта по формулам к ним...
Это не моя задумка, на практике задали, а я вот мучаюсь...
Теперь возникла проблема с изьятием данных из ini файла
Код:
procedure TForm1.Button33Click(Sender: TObject);
var
ini: TIniFile;
begin
if OpenDialog1.Execute then
Begin
  edit1.Text:=ini.ReadString('edit1','text',edit1.Text);
  ShowMessage('Ôàéë óñïåøíî çàãðóæåí')
End
Else
   ShowMessage('Çàãðóçêà ôàéëà îòìåíåíà ïîëüçîâàòåëåì');
end;
ошибка
[Warning] Unit1.pas(3319): Variable 'ini' might not have been initialized


Для оформления кода используйте теги [ CODE] [/CODE] (кнопочка # на панели форматирования сообщения)
Модератор

Последний раз редактировалось Serge_Bliznykov; 07.02.2013 в 11:01.
SW00001 вне форума Ответить с цитированием
Старый 07.02.2013, 10:59   #18
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

ну и в чём, собственно, проблема?!

Ага. Точно. Вижу. Это же Ваша ошибка!
А кто будет создавать объект ini ???!!
перед использованием ini должно где-то быть:
Код:
 ini := TIniFile.Create(OpenDialog1.FileName);
  теперь можно обращаться к ini
и в конце не забудьте освободить память и файл:
Код:
  ini.Free;


изучаете Delphi без чтения книжек - методом "тыка"?! ну-ну.. удачи...

Последний раз редактировалось Serge_Bliznykov; 07.02.2013 в 11:05.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 07.02.2013, 11:03   #19
SW00001
Пользователь
 
Регистрация: 21.01.2013
Сообщений: 39
По умолчанию

Он не хочет читать данные и вписывать их обратно
http://s020.radikal.ru/i714/1302/d1/e0e644f3ae8b.jpg выдаёт вот эту ошибку
http://i065.radikal.ru/1302/f3/45935e33c5c2.jpg и вот эту

Последний раз редактировалось SW00001; 07.02.2013 в 11:06.
SW00001 вне форума Ответить с цитированием
Старый 07.02.2013, 11:04   #20
VIK_aka_TOR
Участник клуба
 
Аватар для VIK_aka_TOR
 
Регистрация: 30.01.2011
Сообщений: 1,578
По умолчанию

Цитата:
Сообщение от SW00001 Посмотреть сообщение
Да я их уже раставил и прописал коды расчёта по формулам к ним...
Это не моя задумка, на практике задали, а я вот мучаюсь...
Теперь возникла проблема с изьятием данных из ini файла
Код:
procedure TForm1.Button33Click(Sender: TObject);
var
ini: TIniFile;
begin
if OpenDialog1.Execute then
Begin
  edit1.Text:=ini.ReadString('edit1','text',edit1.Text);
  ShowMessage('Ôàéë óñïåøíî çàãðóæåí')
End
Else
   ShowMessage('Çàãðóçêà ôàéëà îòìåíåíà ïîëüçîâàòåëåì');
end;
ошибка
[Warning] Unit1.pas(3319): Variable 'ini' might not have been initialized


Для оформления кода используйте теги [ CODE] [/CODE] (кнопочка # на панели форматирования сообщения)
Модератор
клик
файл вы создали, название у него есть?...
Код:
 ini := TIniFile.Create('Ini.ini');
пишу код не только за печеньки
VIK_aka_TOR вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как можно вернуть файл который удалил Shift+Delete? Murad6633 Помощь студентам 1 19.07.2012 10:45
Как сохранить данные из datagridview в txt файле? vania C# (си шарп) 0 07.04.2012 23:38
Сохранить данные в файл txt NZero Общие вопросы .NET 2 16.12.2010 16:29
Как сохранить данные в xml файл средствами delphi ??? juden Общие вопросы Delphi 1 12.08.2008 10:12
как сохранить строчки в TXT файл Ярослав Помощь студентам 2 17.05.2008 18:43