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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.12.2011, 17:43   #1
lexflax
Пользователь
 
Регистрация: 12.04.2011
Сообщений: 74
Сообщение как вписать в файл текст в моем случае

код программы создается папка в ней файл, как в созданный файл вписать текст который буду вводить в поле мемо1, подскажите плиз , так как у меня выдает ошибку
а как сделать чтоб текст вводился из поля мемо?
Код:
{
 
AnsiString fail;
AnsiString papka;
fail=Edit1->Text;
papka=Edit2->Text;
CreateDir(papka);
TStringList* strList = new TStringList;
strList->Add(Memo1->Lines);             (тут ругается выдает  ошибки)
strList->SaveToFile(papka+"\\"+fail);
}
Цитата:
[BCC32 Error] sozdankatandfail.cpp(32): E2034 Cannot convert 'TStrings * const' to 'UnicodeString'
Full parser context
sozdankatandfail.cpp(24): parsing: void _fastcall TForm1::Button1Click(TObject *)
[BCC32 Error] sozdankatandfail.cpp(32): E2342 Type mismatch in parameter 'S' (wanted 'const UnicodeString', got 'TStrings *')
Full parser context
sozdankatandfail.cpp(24): parsing: void _fastcall TForm1::Button1Click(TObject *)

Последний раз редактировалось Stilet; 05.12.2011 в 09:20.
lexflax вне форума Ответить с цитированием
Старый 04.12.2011, 18:03   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

а зачем временный TStringList тут?
просто
Код:
Memo1->Lines->SaveToFile
.
ну а добавить все строки из Memo это
Код:
strList->AddStrings(Memo1->Lines)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 05.12.2011, 03:37   #3
lexflax
Пользователь
 
Регистрация: 12.04.2011
Сообщений: 74
По умолчанию

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
а зачем временный TStringList тут?
просто
Код:
Memo1->Lines->SaveToFile
.
ну а добавить все строки из Memo это
Код:
strList->AddStrings(Memo1->Lines)
А это на тот случай который я хочу сейчас, тоесть чтоб по нажатию одной кнопки создавалась папка и файл в ней, а по нажатию другой кнопки открывался этот файл его содержимое было видно в поле мемо его можно было бы изменить и сохранить, а функцию SaveToFile без мемо я смог применить только задав указатель на TStringList
вот это код на одну кнопку где создается папка и файл в нем, мне надо написать код кнопки чтоб файл созданный в этой папке открывался и его содержимое было видно в поле мемо, а потом код еще для одной кнопки которая бы сохраняла те изменения в файле которые я бы сделал в поле мемо. Помогите пожалуйста написать или перечислите функции которые мне в этом помогут
Код:
{
 AnsiString fail;
 AnsiString papka;
 fail=Edit1->Text;
 papka=Edit2->Text;
 CreateDir(papka);
 TStringList* strList = new TStringList;
 strList->SaveToFile(papka+"\\"+fail);
 }
Вот как и хотел одна кнопка создает папку а в ней файл текстовый, другая кнопка выдает его содержимое в поле мемо, а другая сохраняет те изменения который были в поле мемо, вот только в каждом коде повторяются одни и теже строки, как можно сделать чтоб записать их один раз в программе? вот код
Код:
void __fastcall TForm1::Button1Click(TObject *Sender)
{

AnsiString fail;
AnsiString papka;
fail=Edit1->Text;
papka=Edit2->Text;
CreateDir(papka);
TStringList* strList = new TStringList;
strList->SaveToFile(papka+"\\"+fail+".txt");
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button2Click(TObject *Sender)
{
AnsiString fail;
AnsiString papka;
AnsiString adres;
fail=Edit1->Text;
papka=Edit2->Text;
adres= papka+"\\"+fail+".txt";
Memo1->Lines->LoadFromFile(adres);
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button3Click(TObject *Sender)
{
AnsiString fail;
AnsiString papka;
AnsiString adres;
fail=Edit1->Text;
papka=Edit2->Text;
adres= papka+"\\"+fail+".txt";
Memo1->Lines->SaveToFile(adres);

}
Видно что в каждой кнопке повторяется блок
AnsiString fail;
AnsiString papka;
fail=Edit1->Text;
papka=Edit2->Text;
Можно как то упростить это? хотя бы чтобы в каждой кнопке снова не вводить две строки
AnsiString fail;
AnsiString papka;

Последний раз редактировалось Stilet; 05.12.2011 в 09:21.
lexflax вне форума Ответить с цитированием
Старый 05.12.2011, 08:33   #4
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Код:
Memo1->Lines->SaveToFile(Edit1->Text+"\\"+Edit2->Text);
сохранили.
Код:
Memo1->Lines->LoadFromFile(Edit1->Text+"\\"+Edit2->Text);
загрузили.
не делайте из мухи слона.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 05.12.2011, 09:18   #5
lexflax
Пользователь
 
Регистрация: 12.04.2011
Сообщений: 74
По умолчанию

огромное спасибо
lexflax вне форума Ответить с цитированием
Старый 06.12.2011, 10:42   #6
lexflax
Пользователь
 
Регистрация: 12.04.2011
Сообщений: 74
По умолчанию

появилась другая задача, хочу чтоб записывалось все в опредленную структуру, и считывало потом эту структуру.... но как сделать не знаю так черновик накидал небольшой как дальше код описать не знаю
Struct Man
{AnsiString fio;
AnsiString date;
AnsiString time;}
m[1000];
AnsiString Dname;
CreateDir("katalog\\"+Dname);
m[i].fio=Memo1->lines;
m[i].date=DateTimePicker1->Date.DateString();
m[i].time=DateTimePicker2->Time.TimeString();

в дату и время значния будут передоваться из формы а точнее из Date DateTimePicker1 и 2, вот я только не знаю как цикл организовать для i, ведь допустим я не знаю сколько раз а точнее сколько человек я буду вводить, а потом чтоб считать мне надо как то подсчитать сколько человек и это количество взять за конечный результат цикла, вот помогите с кодом пожалуйста

Последний раз редактировалось lexflax; 06.12.2011 в 12:30.
lexflax вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Открыть текстовый файл в качестве параметра. В том случае, если имя текстового файла... Sayli Паскаль, Turbo Pascal, PascalABC.NET 9 11.10.2011 23:10
!!Нужно вписать еще одну ошибку в текст программы!! nici1991 Помощь студентам 6 17.06.2010 04:06
Как сделать так, чтобы в моем браузере новое окно страницы открывалось в моем-же браузере??? Somilya Помощь студентам 6 22.12.2009 21:56
как из ListBox`a дописать текст в файл? One.Love Общие вопросы Delphi 1 14.01.2008 07:20
Как вписать строки в файл Master-Skull Общие вопросы Delphi 17 07.09.2007 14:45