Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/9: Рейтинг темы: голосов - 9, средняя оценка - 5.00
241 / 9 / 7
Регистрация: 27.08.2009
Сообщений: 868

Memo1 и .txt

05.10.2009, 14:16. Показов 1936. Ответов 15
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте! Во такая проблемка возникла. На форме 1, у меня лежит кнопка, Баттон1.
Я создал Form2, на неё кинул Memo1, отдельно создал текстовой файл с текстом, под именем kasper.txt.
Мне нужно чтоб когда я нажал Button1, для этого я прописал
C++
1
Fom2->ShowModal();
мне выдало форму 2, на неё мемо1, чтоб в этом мемо1, отобразилось содержимое файла kasper.txt
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
05.10.2009, 14:16
Ответы с готовыми решениями:

Открытие *.txt файла в Memo1
procedure TForm1.Button1Click(Sender: TObject); var f: file of char; begin OpenDialog1.Execute; AssignFile(f,...

Сделать сохранение файла: из Memo1 в файл txt
begin With SaveDialog1 do begin Memo1.Lines.SaveToFile Memo1:='Сохранение файла'; // заголовок окна диалога if Execute...

Сохранение координат курсора в Memo1 -> Файл.txt
Всем доброго времени суток, постараюсь доступно сформулировать свой вопрос: Вообщем, пытаюсь делать программу, которая сохраняла бы...

15
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
05.10.2009, 14:24
C++
1
Memo1->Lines->LoadFromFile("имя файла");
1
241 / 9 / 7
Регистрация: 27.08.2009
Сообщений: 868
05.10.2009, 14:32  [ТС]
Прописал
C++
1
2
3
4
5
void __fastcall TForm2::Memo1Change(TObject *Sender)
{
Memo1->Lines->LoadFromFile("kasper.txt");
}
//---------------------------------------------------------------------------
Содержимое файла не отражается.
0
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
05.10.2009, 14:43
Syltan, а кто вам сказал, что надо использовать это событие? перенесите эту строку в конструктор второй формы или на событие OnCreate
0
241 / 9 / 7
Регистрация: 27.08.2009
Сообщений: 868
05.10.2009, 14:44  [ТС]
Спасибо всем, вот так заработало.
C++
1
2
3
4
void __fastcall TForm2::FormCreate(TObject *Sender)
{
Memo1->Lines->LoadFromFile("kasper.txt");
}
0
Маэстро
Вирусоборец
 Аватар для Maestro
1244 / 365 / 40
Регистрация: 06.09.2009
Сообщений: 798
05.10.2009, 14:57
Syltan, Поставьте условие на проверку существования файла:

Так же можно добавить, если файл не существует, создать его? И создавать при отсутствии. А то при отсутствии файла, достанет необрабатываемая ошибка.
C++
1
2
3
4
5
6
...
   if(!FileExists("kasper.txt"))
      if(Application->MessageBox("Файл 'kasper.txt', отсутствует.", "Внимание: Ошибка!", MB_YESNO+MB_ICONWARNING) == IDYES)
   else
      Memo1->Lines->LoadFromFile("kasper.txt");
...
1
241 / 9 / 7
Регистрация: 27.08.2009
Сообщений: 868
05.10.2009, 15:25  [ТС]
Попробовал ваш код Mastrino вставить вот так:
C++
1
2
3
4
5
6
7
8
9
void __fastcall TForm2::FormCreate(TObject *Sender)
{
if(!FileExists("kasper.txt"))
      if(Application->MessageBox("Файл 'kasper.txt', отсутствует.", "Внимание: Ошибка!", MB_YESNO+MB_ICONWARNING) == IDYES);
   else
      Memo1->Lines->LoadFromFile("kasper.txt");
 
}
//---------------------------------------------------------------------------
Дело в том, что при запуске программы, сразу выдаётся диалоговое сообщение:
Файл 'kasper.txt', отсутствует.",
а после него, после нажатия на окей, выдаёт исключение.
Как сделать так, чтоб при запуске программы, никаких диалоговых сообщений не выдавало.
А выдало диалоговое сообщение при отсутсвии файла .txt только тогда, когда я нажал на кнопку баттон1. Если я нажал на кнопку баттон1, и файл не создан,тогда предложить создать его.
0
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
05.10.2009, 15:30
Syltan, чтобы не ругалось из строки 5 убери условие, потому что else в данном случае относиться ко второму условию, а если тебе надо предложить создать, вставь код создания файла в ту же самую строку 5...
0
241 / 9 / 7
Регистрация: 27.08.2009
Сообщений: 868
05.10.2009, 15:37  [ТС]
Можно пример,что куда вставлять,а то я запутался.
0
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
05.10.2009, 15:41
C++
1
2
3
4
5
6
7
if(!FileExists("kasper.txt")){
  if(Application->MessageBox("Файл 'kasper.txt', отсутствует. Хотите Создать?", "Внимание: Ошибка!", MB_YESNO+MB_ICONWARNING) == IDYES){
    ... // создаем файл...
  }
}else{
  Memo1->Lines->LoadFromFile("kasper.txt");
}
0
0 / 0 / 0
Регистрация: 01.09.2009
Сообщений: 6
05.10.2009, 15:51
C++
1
if(!FileExists("kasper.txt")){
заменить на

C++
1
if( !FileExists( ExtractFilePath( Application->ExeName ) + "kasper.txt")){
0
Маэстро
Вирусоборец
 Аватар для Maestro
1244 / 365 / 40
Регистрация: 06.09.2009
Сообщений: 798
05.10.2009, 16:28
Цитата Сообщение от megajohn Посмотреть сообщение
if( !FileExists( ExtractFilePath( Application->ExeName ) + "kasper.txt")){
Зачем? По умолчанию файл и так создастся в той директории, где находится программа.
0
241 / 9 / 7
Регистрация: 27.08.2009
Сообщений: 868
05.10.2009, 16:59  [ТС]
При запуске программы, сразу вываливается сообщение, Файл 'kasper.txt', отсутствует. Хотите Создать?", а мне нужно чтоб это сообщение вываливалось при нажатии на кнопку Баттон1.
C++
1
2
3
4
5
6
7
8
9
10
11
12
void __fastcall TForm2::FormCreate(TObject *Sender)
{
if(!FileExists("kasper.txt")){
  if(Application->MessageBox("Файл 'kasper.txt', отсутствует. Хотите Создать?", "Внимание: Ошибка!",
   MB_YESNO+MB_ICONWARNING) == IDYES){
 
  }
}else{
  Memo1->Lines->LoadFromFile("kasper.txt");
}
 
}
2) Как сделать,чтоб когда я нажал на кнопку Баттон1, затем выдало сообщение, желаете создать, чтоб когда я нажму "Да", Сразу открылся пустой файл txt, для создания?
0
Маэстро
Вирусоборец
 Аватар для Maestro
1244 / 365 / 40
Регистрация: 06.09.2009
Сообщений: 798
05.10.2009, 17:26
Тогда в обработчик Button1 пиши код. При этом роль "открытого" 'kasper.txt' будет пустое поле Memo1, а смысл загружать пустой файл? Главное что он у вас сохранится как 'kasper.txt' и пустой. В общем проверьте.
C++
1
2
3
4
5
6
7
8
9
10
void __fastcall TForm2::Button1Click(TObject *Sender)
{
   if(!FileExists("kasper.txt")){  
     if(Application->MessageBox("Файл 'kasper.txt', отсутствует. Хотите Создать?", "Внимание: Ошибка!",  MB_YESNO+MB_ICONWARNING) == IDYES){
       Memo1->Lines->SaveToFile("kasper.txt");  // Сохраняем пустое Memo
     }
   }
   else{
     Memo1->Lines->LoadFromFile("kasper.txt");
 }
0
241 / 9 / 7
Регистрация: 27.08.2009
Сообщений: 868
05.10.2009, 17:28  [ТС]
Вы меня не поняли,кнопка должна находится на Form1, а не на Форм2. При нажатии на ней, должно происходить всё что,что я описал выше.
3)Скажите пожалуйста, что нужно изменить,чтоб когда уже выдало Form2, а на ней мемо1, в котором отобразилось содержимое текстового файла, чтоб содержимое файла нельзя было изменять, редактировать на мемо1.
Ответьте пожалуйста на 3 пункта.
0
Маэстро
Вирусоборец
 Аватар для Maestro
1244 / 365 / 40
Регистрация: 06.09.2009
Сообщений: 798
05.10.2009, 17:54
Syltan,
1. В обработчик Button1 пишешь код, который открывает Form2:
C++
1
2
3
4
5
6
void __fastcall TForm1::Enter(TObject *Sender)
{
       // Form2 = new TForm2(this);
        if(Form2->ShowModal() == mrCancel)
                return;
}
2. В FormCreate для Form2, пишешь:
C++
1
2
3
4
void __fastcall TForm2::FormCreate(TObject *Sender)
{
   Memo1->Lines->LoadFromFile("kasper.txt");  
}
3. чтоб содержимое файла нельзя было изменять, редактировать на мемо1. Устанавливаем через Инспектор объектов в свойстве Memo1 - ReadOnly - true.
4. Возможно захочешь приделать скроллбар, тогда в Инспекторе объектов найди свойство ScrollBars и выставь - ssBoth
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
05.10.2009, 17:54
Помогаю со студенческими работами здесь

Текст из Memo1 и Memo2 сохранить в один txt-файл
У меня есть ключ и шифр-текст. Нужно сохранить их в один ТХТ файл. Знаю как сохранить из ОДНОГО мемо в тхт, не нужно этого писать плз....

Помещение в DLL - form1.Memo1.Lines.LoadFromFile('file.txt'); и ему подобного.
Доброго времени суток, помогите пожалуйста решить одну проблему мне нужно запхать в DLL библиотеку процедуру...

Undeclared identifier: 'Memo1'(Memo1 есть на форме)
procedure Thread2; begin repeat Memo1.Lines.Add(IntToStr(a)); //Ошибка вот здесь Sleep(300); until (a>100); end; ...

Сохранение текстового файла .txt из Memo1.lines и.т.д , задавая название файла в Edit1
Добрый вечер ! Подскажите пожалуйста, сохраняю текстовой файл в Memo1 задавая имя файлу в Edit1, как только начинаю писать текст в Edit1,...

В папке К2 создайте файл t3.txt, в который перепишите вначале текст из файла t1.txt, а затем из t2.txt
Программным путем: 1. В папке С:\temp создайте папки К1 и К2. 2. В папке К1: a) создайте файл t1.txt, в который запишите следующий...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Новые блоги и статьи
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
Контроль уникальности заводского номера
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере нетипового документа выдачи шин для спецтехники с табличной частью, разработанного в конфигурации КА2. Номеклатура. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru