Вопрос Как внести изменения в dat файл (открывается блокнотом)?

Статус
В этой теме нельзя размещать новые ответы.

ExPlayer

Старожил
Доброго времени суток! Подскажите, как можно внести изменения в .dat файл (в нем только 1 строчка - ru или en, открывается обычным блокнотом)?
 

ExPlayer

Старожил
Что-то я туплю... Как сделать, что бы при выборе русского в .dat записывалось значение "ru", а при выборе английского соответственно "en"?
 

Хамик

Старожил
ExPlayer,
Код:
if Rus.Checked then
SaveStringToFile(ExpandConstant('{app}\myfile.dat'), 'ru', False);
if Eng.Checked then
SaveStringToFile(ExpandConstant('{app}\myfile.dat'), 'en', False);
 

ExPlayer

Старожил
Хамик, пишет неизвестный идентификатор, я правильно понимаю, что:
Rus.Checked - это имя чекбокса?
 
Последнее редактирование:

sergey3695

Ветеран
Модератор
ExPlayer, Rus имя, Checked - переводится как выбран (да там и точка между ними).
 

ExPlayer

Старожил
Rus имя, Checked - переводится как выбран (да там и точка между ними).
Да это понятно, я просто не могу понять, куда именно это (тот код, что привел @Хамик и @YURSHAT ) вставлять и почему Inno ругается на неизвестный идентификатор.

При этом в глобальных переменных нет ни TCheckbox, ни TRadiobutton, НО выбор компонентов работает нормально:
Код:
[Components]
Name: Text; Description: {cm:GUILanguage}; Types: full; Flags: fixed
Name: Text\rus; Description: {cm:Russian}; Flags: exclusive;
Name: Text\eng; Description: {cm:English}; Flags: exclusive;

<..>

//переменные
var
   ISInit, ISDoneError: boolean;
   WizardImage, Logo, GameIMG, DirEditIMG, CancelButton, NextButton, BackButton, MinButton, ExitButton,
      DirBrowseButton, ProgressBarBkg, ProgressBarImg, PBOldProc, PauseButton, MusicButton, oggHandle: Longint;
   WizardLabel, WelcomeLabel, SelectDirLabel, NeedSpaceLabel, FreeSpaceLabel, PathLabel, UnpackingArcLabel,
      RemainingTimeLabel, ElapsedTimeLabel: TLabel;
   ButtonsFont: TFont;
   FreeMB, TotalMB: Cardinal;
   DirTreeView: TFolderTreeView;
   BrowseForm, ExitForm: TSetupForm;
   Edit: TNewEdit;
   ISDoneCancel, CurrentPicture: integer;
   TimerID: LongWord;
   PCFVer: double;
   ISDoneProgressBar: TNewProgressBar;
   oggName, MusicStatus: string;
   PicList: TStringList;
 
Последнее редактирование:

PUNISHER

Участник
if IsComponentSelected('Text\rus') then
SaveStringToFile(ExpandConstant('{app}\myfile.dat'), 'ru', False);

if IsComponentSelected('Text\eng') then
SaveStringToFile(ExpandConstant('{app}\myfile.dat'), 'en', False);
 

Хамик

Старожил
ExPlayer,
Код:
[Setup]
AppName=My Programm
AppVersion=1.1
DefaultDirName={pf}\My Programm
OutputDir=.

[Components]
Name: Text; Description: GUILanguage; Types: custom;  Flags: fixed
Name: Text\rus; Description: Russian;  Flags: exclusive;
Name: Text\eng; Description: English;  Flags: exclusive;

[Code]

procedure CurStepChanged(CurStep: TSetupStep);
begin
  case CurStep of
  ssDone:
         begin
         if IsComponentSelected('Text\rus') then
          SaveStringToFile(ExpandConstant('{app}\file.dat'), 'ru', False);
         if IsComponentSelected('Text\eng') then
          SaveStringToFile(ExpandConstant('{app}\file.dat'), 'en', False);
         end;
end;
end;
 

ExPlayer

Старожил
if IsComponentSelected('Text\rus') then
SaveStringToFile(ExpandConstant('{app}\myfile.dat'), 'ru', False);

if IsComponentSelected('Text\eng') then
SaveStringToFile(ExpandConstant('{app}\myfile.dat'), 'en', False);
ExPlayer,
Код:
[Setup]
AppName=My Programm
AppVersion=1.1
DefaultDirName={pf}\My Programm
OutputDir=.

[Components]
Name: Text; Description: GUILanguage; Types: custom;  Flags: fixed
Name: Text\rus; Description: Russian;  Flags: exclusive;
Name: Text\eng; Description: English;  Flags: exclusive;

[Code]

procedure CurStepChanged(CurStep: TSetupStep);
begin
  case CurStep of
  ssDone:
         begin
         if IsComponentSelected('Text\rus') then
          SaveStringToFile(ExpandConstant('{app}\file.dat'), 'ru', False);
         if IsComponentSelected('Text\eng') then
          SaveStringToFile(ExpandConstant('{app}\file.dat'), 'en', False);
         end;
end;
end;
Спасибо))) Всё работает:good:)) Я просто код не туда писал :facepalm:
 

Хамик

Старожил
Последнее редактирование модератором:

Kotyarko_O

Новичок
Нет! Надо тот же dat файл с такой структурой как я выше привел.
Ну так я вам всё правильно подсказал:
Код:
SaveStringToFile(ExpandConstant('{app}\myfile.dat'), 'Good' + #13#10#13#10 + 'Easy' + #13#10#13#10 + 'Pro', False);
 

Вложения

Хамик

Старожил
Как можно дополнять текстовый файл? Допустим вот такой пример
Код:
if Rus.Checked then
SaveStringToFile(ExpandConstant('{app}\myfile.txt'), 'Rus', False);
if Rusik.Checked then
SaveStringToFile(ExpandConstant('{app}\myfile.txt'), 'Rusik', False);
rus и rusik это чекбоксы и если они оба отмечены то создавался такой .txt файл
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху