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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.04.2013, 17:55   #1
Sektr63
Пользователь
 
Регистрация: 29.01.2012
Сообщений: 33
По умолчанию Не работает Memo

Есть кнопка, когда нажимаю на неё, выполняется следующий код

Код:
    AnsiString Path;
    Memo1->Lines->LoadFromFile ("Path.txt");
    Path=Memo1->Lines->Text;

    if (Memo1->Lines->Text.IsEmpty ())
        if (OpenDialog1->Execute ())
        {
            Path=OpenDialog1->FileName;
            Memo1->Lines->Add (OpenDialog1->FileName);
            Memo1->Lines->SaveToFile ("Path.txt");
        }

    else
    {
        Application->MessageBox("Путь не задан", "Ошибка");
        return;
    }

    ShellExecute(0, "open", Path.c_str(), NULL, NULL, SW_RESTORE);
Нужно чтобы при первом нажатии на кнопку открылось диалоговое окно с выбором файла. После записался путь этого файла в текстовый документ, и все последущие нажатия должны сразу открывать файл, естественно, если внутри текстового документа есть путь к файлу.
Проблема в том, что не работает запись в текстовый документ. Строки:
Код:
Memo1->Lines->Add (OpenDialog1->FileName);
Memo1->Lines->SaveToFile ("Path.txt");
Sektr63 вне форума Ответить с цитированием
Старый 08.04.2013, 17:57   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Цитата:
не работает запись
Как определил?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 08.04.2013, 18:04   #3
Sektr63
Пользователь
 
Регистрация: 29.01.2012
Сообщений: 33
По умолчанию

Открываю документ, а в нем пусто )
Sektr63 вне форума Ответить с цитированием
Старый 08.04.2013, 18:16   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

А ты обрати внимание: Ты сохраняешь по относительному пути. Ты уверен что данные пишутся в нужный текстовик?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 08.04.2013, 18:35   #5
Sektr63
Пользователь
 
Регистрация: 29.01.2012
Сообщений: 33
По умолчанию

Все правильно, документ там же где и программа

Заметил, если убрать
Код:
if (OpenDialog1->Execute ())
тогда работает, но без этого никак.

Никто не поможет?

Последний раз редактировалось Stilet; 08.04.2013 в 20:34.
Sektr63 вне форума Ответить с цитированием
Старый 08.04.2013, 20:44   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Цитата:
Все правильно, документ там же где и программа
Ниче не правильно. OpenDialog переключает текущий каталог, на тот что ты выбираешь, и все что пишется с относительными путями сохраняется там.
Тебе же нужно вычислять путь к каталогу с программой используя ParamStr() и ExtractFilePath(). Только тогда будет уверенность что файл сохранится рядом с программой.
Что-то типа Memo1->Lines->LoadFromFile (ExtractFilePath(ParamStr(0))+"Path .txt");
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 09.04.2013, 17:55   #7
Avazart
Форумчанин
 
Аватар для Avazart
 
Регистрация: 13.08.2011
Сообщений: 184
По умолчанию

ParamStr(0) вместо можно использовать Application->ExeName.
Avazart вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не работает scroll memo warma2d Помощь студентам 2 21.02.2012 17:49
Не работает сохранение из Memo Новичок! Помощь студентам 6 20.10.2011 11:29
Неправильно работает свойство Memo.CaretPos Armorer Общие вопросы Delphi 9 24.05.2011 18:26
Перевод из Memo по английскому в Memo по русскому Sanek777 Общие вопросы Delphi 5 26.09.2008 00:17
В Memo сделать так, чтобы текст был разного цвета, разноцветный memo Artem Компоненты Delphi 3 07.09.2007 13:40