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

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

Вернуться   Форум программистов > C/C++ программирование > C++ Builder
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.12.2011, 12:56   #1
elf01
Пользователь
 
Регистрация: 18.11.2011
Сообщений: 34
По умолчанию Как любой текстовой документ вывести тут в memo1

//---------------------------------------------------------------------------

#include <vcl.h>
#include <stdio.h>
#include <math.h>
#pragma hdrstop

#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
int* readArray(char* filename, int &n)
{
char buf[maxlen];

FILE* f = fopen(filename, "r");
}
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)
{
if (OpenDialog1->Execute())
{
AnsiString filename = OpenDialog1->FileName;
ShowMessage("Выбран файл" + filename);
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
if (SaveDialog1->Execute())
{
AnsiString filename = SaveDialog1->FileName;
ShowMessage("Файл для сохранения"+filename);
}
}
//---------------------------------------------------------------------------




как тут сделать, чтобы любой текстовой документ выводился в memo1, что и куда прописать, а то как не пытался, не получилось.
elf01 вне форума Ответить с цитированием
Старый 16.12.2011, 15:14   #2
nick42
Форумчанин
 
Аватар для nick42
 
Регистрация: 14.10.2011
Сообщений: 267
По умолчанию

Во первых: создайте строку filename как общую переменную, так как она будет использоваться из разных мест. Есть разница, как написать в обработчике события, - Вы пишете AnsiString filename= , поэтому можете забыть про все другие переменные с именем filename; здесь Вы эту переменную инициализировали и никуда дальше этой функции она не пойдет. Вот если Вы создадите общую переменную filename, а в обработчике просто будете присваивать ей имя ( filename= ...), то это имя сохранится и для других функций (обработчиков событий). Тогда для компонента Memo достаточно будет просто записать:
Код:
Memo1->Lines->SaveToFile(filename)
или
Код:
Memo1->Lines->LoadFromFile(filename)
. И всё.
nick42 вне форума Ответить с цитированием
Старый 19.12.2011, 01:13   #3
elf01
Пользователь
 
Регистрация: 18.11.2011
Сообщений: 34
По умолчанию Как любой текстовой документ вывести тут в memo1

я когда сделал все эти подсказки
Код:
 Во первых: создайте строку filename как общую переменную, так как она будет использоваться из разных мест. Есть разница, как написать в обработчике события, - Вы пишете AnsiString filename= , поэтому можете забыть про все другие переменные с именем filename; здесь Вы эту переменную инициализировали и никуда дальше этой функции она не пойдет. Вот если Вы создадите общую переменную filename, а в обработчике просто будете присваивать ей имя ( filename= ...), то это имя сохранится и для других функций (обработчиков событий). Тогда для компонента Memo достаточно будет просто записать:
Код:

Memo1->Lines->SaveToFile(filename)

или
Код:

Memo1->Lines->LoadFromFile(filename)

. И всё.
то всё тоже, только теперь любой текстовой документ при открытии очищается и авто сохраняется чистым. подскажите ещё.
elf01 вне форума Ответить с цитированием
Старый 19.12.2011, 01:25   #4
nick42
Форумчанин
 
Аватар для nick42
 
Регистрация: 14.10.2011
Сообщений: 267
По умолчанию

Боюсь подсказывать. Я предполагал знание элементарного английского. Если файл уже существует и наполнен текстом (хотя бы пару строк), то при исполнении LoadFromFile( с именем файла, в чистой панели Memo появится этот текст. Но если применить SaveToFile( с именем этого файла, то та же чистая панель Memo без всяких предупреждений затрет текст в том файле.
И бросьте в меня камень, если это не очевидно...
nick42 вне форума Ответить с цитированием
Старый 19.12.2011, 03:30   #5
elf01
Пользователь
 
Регистрация: 18.11.2011
Сообщений: 34
По умолчанию

блин спасибо точно я просто перепутал)))) оч благо дарен, запутался
elf01 вне форума Ответить с цитированием
Старый 19.12.2011, 06:35   #6
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

Вообще-то для этих целей используются компоненты OpenDialog и SaveDialog.
Код:
if(OpenDialog1->Execute()) Memo1->Lines->LoadFromFile(OpenDialog1->FileName);
А ещё лучше, вместо Memo использовать RichEdit. Возможностей форматирования текста у него больше, да и форматов он больше читает.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как из любого текстового документа вывести данные в Memo1 elf01 C++ Builder 1 18.11.2011 16:39
active x: вывести на форму документ MS Word daemon-rm Помощь студентам 9 14.12.2009 23:18
Как вывести на печать документ Word prizzrak Microsoft Office Excel 10 01.10.2009 20:36
memo1.lines как сделать....... diznt Помощь студентам 2 04.09.2008 17:13
Как в Memo1 вывести список папок? apromix Общие вопросы Delphi 1 08.05.2008 15:12