Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по Delphi (все версии) - часть 3

Модерирует : ShIvADeSt

ShIvADeSt (07-04-2008 02:27): продолжение в http://forum.ru-board.com/topic.cgi?forum=33&topic=9383  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101

   

mauar



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Есть PageControl у неё создана одна вкладка, как сделать чтобы создавалась копия этой открытой вкладки?

Всего записей: 134 | Зарегистр. 31-07-2006 | Отправлено: 16:42 06-03-2008 | Исправлено: mauar, 16:46 06-03-2008
Frodo_Torbins

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
mauar
С помощью Assign?

Всего записей: 2322 | Зарегистр. 24-05-2007 | Отправлено: 19:14 06-03-2008
Maks150988



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
MrZeRo
Дык вот хочется одним статиком обойтись. А как такое сделать - не знаю.
Andrey128
Ну я прописываю resourcestring и по аналогии как const делаю как нужно.
Либо если нужно точный номер строки своей указать, то через LoadString загружаю из ресурсов строку и в мессаджбоксе это выглядит как MessageBox(hWnd, PChar(String1), '', MB_OK).

Всего записей: 836 | Зарегистр. 23-12-2006 | Отправлено: 20:08 06-03-2008
Andrey128

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Maks150988

Цитата:
Ну я прописываю resourcestring и по аналогии как const делаю как нужно.

Не совсем понял вас.
Например, если вызвать MessageDlg, то в заголовке будет писаться 'Confimation' или 'Information', а мне бы хотелось, чтобы 'Подтверждение' или 'Информация'.
Эти строки хранятся в файлах Consts.pas, DBConsts.pas и т.д.
 
Сравнил я основные ресурсы Consts.pas, DBConsts.pas и SysConsts.pas между Delphi 7 и 2007 - в основном добавлены новые строки. Основной перевод взял от Polaris Software, что добавили - оставил непереведенным (там не так много).
hxxp://rapidshare.com/files/97638019/Rus_Consts_D2007_b10471.rar.html
 
Чтобы это заработало, в опциях проекта нужно добавить путь в Search path.
Если для всех проектов, то в Tools | Options | Enviroment Options | Delphi Options | Library Win32.

Всего записей: 410 | Зарегистр. 16-01-2003 | Отправлено: 05:59 07-03-2008
Czechoslovak



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

Цитата:
Дык вот хочется одним статиком обойтись. А как такое сделать - не знаю.  

Переписать самому прорисовку контрола и покаким либо признакам например менять стиль шрифта, возможно такие компоненты уже существуют...
 в принципе можно использовать например RichEdit или RichView

Всего записей: 175 | Зарегистр. 27-06-2007 | Отправлено: 10:10 07-03-2008
Maks150988



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Не совсем понял вас.  
Например, если вызвать MessageDlg, то в заголовке будет писаться 'Confimation' или 'Information', а мне бы хотелось, чтобы 'Подтверждение' или 'Информация'.

Ну все тоже самое можно и через Мессаджбокс. А всякие Шоумессаджб и Мессадждлг как-то дублируют...
Например я делаю так:

Код:
 
resourcestring
  IDC_STR_MSG_INF = 'Информация';
  IDC_STR_MSG_ADD = 'Невозможно добавить новую запись в список. Пожалуйста проверьте заполнение всех полей.';
 

И уже используем как:

Код:
 
MessageBox(hWnd, PChar(IDC_STR_MSG_ADD), PChar(IDC_STR_MSG_INF), MB_OK).
 

И если надо, то потом редактором ресурсов мы или кто-то другой подправит строки в откомпилированном файле. Идеальный вариант.

Всего записей: 836 | Зарегистр. 23-12-2006 | Отправлено: 18:00 07-03-2008
MsdLamer

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здравствуй. Вопросик, как открыть в МЕМО с последний созданный файл. Допустим в каталоге лежат файлы 1006.txt 10018.txt 1002.txt, как допусти файл созданый сегодня (1002.txt) открыть в МЕМО и не трогать другие. И еще если не сложно, напишите пожалуйста как можно скопировать так же из одной папки в другую последний созданный файл. Спасибо профессионалам.

Всего записей: 53 | Зарегистр. 26-07-2007 | Отправлено: 19:44 08-03-2008
Frodo_Torbins

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
MsdLamer
А какая разница какой файл? Пишете:

Код:
Memo1.LoadFromFile('C:\Pyt\k\moemy\fajly\1002.txt');

вот и все.
А для копирования виндовс предоставляет прекрасную функцию:

Код:
CopyFile(PChar(FName1), PChar(FName2), False);

Подробности тут: http://msdn2.microsoft.com/en-us/library/aa363851(VS.85).aspx

Всего записей: 2322 | Зарегистр. 24-05-2007 | Отправлено: 23:11 08-03-2008 | Исправлено: Frodo_Torbins, 23:33 08-03-2008
waik



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
MsdLamer
 Сейчас попробуем отгадать в чём вопрос был!
 
Frodo_Torbins
 Мне кажется что проблема у MsdLamer именно в том чтобы найти этот "последний созданный файл" в директории где их много.
 
Думаю что тут поможет использование функции  
function FindFirst(const Path: string; Attr: Integer; var F: TSearchRec): Integer;
 
ну и конечно FindClose/FindNext
 
Типа такого:
var
 sr : TSearchRec;
 fn : string;  // TfileName наверное правильно, но вообще одно и тоже
 MaxTime : integer;  // конвертируется в TdateTime с помошью   FileDateToDateTime(FileDate: Integer): TDateTime;
 
 
 fn := '';
 MaxTime := 0;
 
 if FindFirst('c:\TMP\*.txt', faAnyFile , sr) = 0 then
    begin
      repeat
       if sr.time>MaxTime then
       begin
          MaxTime := sr.time;
          fn := sr.name;
       end;
      until FindNext(sr) <> 0;
      FindClose(sr);
    end;
 
 Memo1.LoadFromFile(fn);
 
 
ну или примерно так... Может кто и лучше подскажет.  
 
 
 
 

Всего записей: 610 | Зарегистр. 15-01-2003 | Отправлено: 01:19 09-03-2008
MsdLamer

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
waik у меня почему то не работает, ошибку выдает... . поясняю вопрос, мне нужно открыть последний созданый файл (допустим сегодняшним числом) в МЕМО, в папке много текстовых файлов, но нужен именно последний . И так же скопировать последний созданый файл из одной папки в другую, если не сложно напишите исходники, я только учусь . Спасибо.

Всего записей: 53 | Зарегистр. 26-07-2007 | Отправлено: 18:32 09-03-2008
Sampron

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите пожалуйста как можно запустить файл путь к которому записан в строчке реестра?

Всего записей: 563 | Зарегистр. 06-01-2007 | Отправлено: 18:55 09-03-2008
Frodo_Torbins

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
MsdLamer
Это же вам не батники писать. Говорите что за ошибка. waik писал на коленке, мог какую то мелочь пропустить.
Sampron
Где то так:

Код:
uses ShellAPI;
...
//ChDir('C:\Pyt\k\moemy\fajly'); это розкоментировать если файл - экзешник
ShellExecute(0,'open','"C:\Pyt\k\moemy\fajly\MoiFail.ext"','','"C:\Pyt\k\moemy\fajly"',SW_NORMAL);

Всего записей: 2322 | Зарегистр. 24-05-2007 | Отправлено: 23:03 09-03-2008
MsdLamer

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Я кинул в папочку два файла 1001 созданый 3 марта, а один создал 1002 сегодня 9 марта, обо  тхт.... Он пишет типа невозмодно открыть файл 1001 невозможно... Cannot open file 1001.txt.

Всего записей: 53 | Зарегистр. 26-07-2007 | Отправлено: 23:43 09-03-2008
RomanTim

Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Sampron
Ну и в дополнение к посту Frodo_Torbins, по поводу реестра смотри в сторону TRegistry. Что-то вопросы пошли - попробуй догадайся что человеку надо...
 
 
Добавлено:
MsdLamer
Memo1.LoadFromFile('c:\TMP\' + fn);

Всего записей: 375 | Зарегистр. 11-09-2003 | Отправлено: 23:50 09-03-2008
MsdLamer

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Спасибо все открывается, еще вопросик могу ли я скопировать таким же образом??  
CopyFile('c:\1\'+ fn, 'c:\2\', true); пишет ошибку  Incompatible types: 'String' and 'PChar'. Что не так? Спасибо.

Всего записей: 53 | Зарегистр. 26-07-2007 | Отправлено: 00:26 10-03-2008
afiget



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
MsdLamer
F1 на CopyFile. Приведение типов.

Всего записей: 545 | Зарегистр. 31-12-2005 | Отправлено: 01:00 10-03-2008
Sampron

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
RomanTim

Цитата:
Ну и в дополнение к посту Frodo_Torbins, по поводу реестра смотри в сторону TRegistry. Что-то вопросы пошли - попробуй догадайся что человеку надо...

Нужно чтобы при нажатии на кнопку открывался ехе файл путь которого прописан в реестре к примеру в:
[HKEY_LOCAL_MACHINE\SOFTWARE\My Program]
"Path"="C:\Program Files\My Program\MyProg.exe" //строковый параметр
 

Всего записей: 563 | Зарегистр. 06-01-2007 | Отправлено: 01:24 10-03-2008
vidic777



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
MsdLamer

Цитата:
Incompatible types: 'String' and 'PChar'. Что не так? Спасибо.

afiget прав. Попробуйте так:

Код:
 
    if (!CopyFile('c:\1\'+ fn.c_str(), 'c:\2\',  false)) {
        ShowMessage("Error Copying");
    }
 


Всего записей: 1313 | Зарегистр. 16-02-2005 | Отправлено: 04:04 10-03-2008 | Исправлено: vidic777, 04:05 10-03-2008
Jokerjar79



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
vidic777, это на С. На делви так:

Код:
CopyFile('c:\1\'+ pchar(fn), 'c:\2\', true);


Всего записей: 710 | Зарегистр. 08-09-2007 | Отправлено: 05:56 10-03-2008
Frodo_Torbins

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Эм, вобще вторым параметром должен быть полный путь + новое имя файла. Примерно так:

Код:
CopyFile(PChar('C:\Pyt1\MoiFail1.ex1'), PChar('C:\Pyt2\MoiFail2.ex2'), False);

 
Sampron
Читайте хелп по TRegistry. Если не знаете английского поставьте себе переводчик. Или в инете почитайте: http://delphiworld.narod.ru/base/reg_use.html

Всего записей: 2322 | Зарегистр. 24-05-2007 | Отправлено: 11:10 10-03-2008 | Исправлено: Frodo_Torbins, 11:25 10-03-2008
   

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по Delphi (все версии) - часть 3
ShIvADeSt (07-04-2008 02:27): продолжение в http://forum.ru-board.com/topic.cgi?forum=33&topic=9383


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2025

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru