Форум программистов
 
Регистрация на форуме тут, о проблемах пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль.

Как купить рекламу на форуме


Вернуться   Форум программистов > Операционные системы > Софт
Регистрация

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


Ответ
 
Опции темы Поиск в этой теме
Старый 29.12.2014, 18:58   #181
Rik
Форумчанин
 
Аватар для Rik
 
Регистрация: 28.07.2007
Сообщений: 360
По умолчанию

Цитата:
Сообщение от vladrvv Посмотреть сообщение
Прелесть этой конструкции в том , что не надо париться - какой редактор стоит в системе. Какой стоит , тот и запустит выбранный файл.
А в unix - нет программ по умолчанию ?
Есть, но подобной работающей функции, интегрированной в лазарус я не нашел. В модуле Unix присутствуют какие-то функции, но мне не удалось заставить их работать как ShellExecute...
Rik вне форума Ответить с цитированием
Старый 29.12.2014, 20:05   #182
vladrvv
Пользователь
 
Регистрация: 07.11.2009
Сообщений: 59
По умолчанию

Ну тогда хотя бы для Windows сделайте
vladrvv вне форума Ответить с цитированием
Старый 30.12.2014, 17:14   #183
Rik
Форумчанин
 
Аватар для Rik
 
Регистрация: 28.07.2007
Сообщений: 360
По умолчанию

Цитата:
Сообщение от vladrvv Посмотреть сообщение
Ну тогда хотя бы для Windows сделайте
ShellExec добавил. В Windows она работает как есть, через Win API, в Linux через TProcess, можно в общем-то было совсем не добавлять эту функцию, все можно сделать через TProcess.

Пример использования:
Открываем URL через Chrome
Код:
if WINDOWS then
    ShellExecute(Handle, 'Open', 'chrome', 'http://visual-t.ru', '', SW_SHOWMAXIMIZED);
  else
    ShellExecute(0, 'Open', 'google-chrome-stable', 'http://visual-t.ru', '', SW_SHOWMAXIMIZED);
  end;
Обратите внимание, параметру FileName, Parameters, Directory имеют тип string. В Linux самый первый параметр HWND = 0 (я вот думаю, не убрать ли его совсем), последний параметр SW_SHOW и т.д. значения не имеют и не работают.

Открываем URL через браузер по умолчанию
Код:
if WINDOWS then
    ShellExecute(Handle, 'Open', 'explorer', 'http://visual-t.ru', '', SW_SHOWMAXIMIZED);
  else
    ShellExecute(0, 'Open', 'thunar', 'http://visual-t.ru', '', SW_SHOWMAXIMIZED);
  end;
Обратите внимание, в моем линуксе файловый менеджер thunar, в других, будут другие, поэтому вместо thunar указывать тот что есть в системе, имя файлового менеджера лучше вынести в настройки программы

Открываем файл XLS
Код:
method TMainForm.Button2Click(Sender: TObject);
var
  FileName: string;
begin
  FileName = ConfigPath + 'ShwllTest.xls';
  if WINDOWS then
    ShellExecute(Handle, 'Open', 'explorer', FileName, '', SW_SHOWMAXIMIZED);
  else
    ShellExecute(0, 'Open', 'thunar', FileName, '', SW_SHOWMAXIMIZED);
  end;
end;
пример:
http://visual-t.ru/files/ShellExec.7z

Последний раз редактировалось Rik; 30.12.2014 в 17:35.
Rik вне форума Ответить с цитированием
Старый 31.12.2014, 16:05   #184
vladrvv
Пользователь
 
Регистрация: 07.11.2009
Сообщений: 59
По умолчанию

Спасибо.
С Новым Годом.
Творческих успехов Вам , дальнейшего развития Дизеля!

Последний раз редактировалось vladrvv; 31.12.2014 в 16:06. Причина: ошибка
vladrvv вне форума Ответить с цитированием
Старый 01.01.2015, 12:30   #185
Rik
Форумчанин
 
Аватар для Rik
 
Регистрация: 28.07.2007
Сообщений: 360
По умолчанию

Цитата:
Сообщение от vladrvv Посмотреть сообщение
Спасибо.
С Новым Годом.
Творческих успехов Вам , дальнейшего развития Дизеля!
Спасибо большое!
Rik вне форума Ответить с цитированием
Старый 01.01.2015, 22:53   #186
vladrvv
Пользователь
 
Регистрация: 07.11.2009
Сообщений: 59
По умолчанию

С печатью с использованием rtf шаблона в основном все получилось.

Программа reportf.exe на основании шаблона и файла данных формирует готовый отчет.
Остались вопросы по кодировке:
1) Дизель выгружает в текстовый файл данные в UTF кодировке, а
reportf.exe загружает ANSI.
Какие функции в Дизеле для конвертации текста есть?
vladrvv вне форума Ответить с цитированием
Старый 01.01.2015, 23:12   #187
Rik
Форумчанин
 
Аватар для Rik
 
Регистрация: 28.07.2007
Сообщений: 360
По умолчанию

Цитата:
Сообщение от vladrvv Посмотреть сообщение
С печатью с использованием rtf шаблона в основном все получилось.

Программа reportf.exe на основании шаблона и файла данных формирует готовый отчет.
Остались вопросы по кодировке:
1) Дизель выгружает в текстовый файл данные в UTF кодировке, а
reportf.exe загружает ANSI.
Какие функции в Дизеле для конвертации текста есть?
Пока можно попробовать сделать так:
Код:
method TMainForm.Button1Click(Sender: TObject);
begin
  if SaveDialog1.Execute then
    ListBox2.Items.Text = UTF8ToCP1251(ListBox1.Items.Text);
    ListBox2.Items.SaveToFile(SaveDialog1.FileName);
  end;
end;
Думаю вот к классу TStrings прикрутить или нет функции ToAnsi и ToUTF8..
Rik вне форума Ответить с цитированием
Старый 02.01.2015, 11:45   #188
vladrvv
Пользователь
 
Регистрация: 07.11.2009
Сообщений: 59
По умолчанию

С кодировкой теперь все нормально.
1)
Но при ПОИСКЕ в главном окне в строке
Цитата:
method TMainForm.xDBGrid1UTF8KeyPress(Send er: TObject; var UTF8Key: TUTF8Char);
var
S: string;
begin
S = UTF8Key;
if IsDigit(S[1]) or IsLetter(S[1]) or IsSimbol(S[1]) then
LabelPoisk.Visible = True;
LabelPoisk.Caption += UpperCase(UTF8Key);
Здесь =>> DM.xDbfdOG.SearchKey(LabelPoisk.Cap tion, stGreater);
end;

end;
получаю сообщение об ошибке
Цитата:
Invalid variant type cast
Вроде сделал , как в предыдущих примерах

2) TDBF поддерживает фильтрацию или нет ?
Что-то не нашел в описании.
vladrvv вне форума Ответить с цитированием
Старый 02.01.2015, 12:22   #189
Rik
Форумчанин
 
Аватар для Rik
 
Регистрация: 28.07.2007
Сообщений: 360
По умолчанию

Цитата:
Сообщение от vladrvv Посмотреть сообщение
С кодировкой теперь все нормально.
1)
Но при ПОИСКЕ в главном окне в строке

получаю сообщение об ошибке


Вроде сделал , как в предыдущих примерах

2) TDBF поддерживает фильтрацию или нет ?
Что-то не нашел в описании.
SearchKey на предыдущем примере (RAY) работает, можете изготовить пример, в отладчике Lazarus надо смотреть, что внутри компоненты происходит. Может с типом данных в столбце как-то связано? SearchKey только на строках проверяли...

2. Фильтр я на днях починил TxDBF v1.0.4 фильтрует.
xDBF1.Filter = 'NAME="апро*"';
xDBF1.Filtered = True;

Последний раз редактировалось Rik; 02.01.2015 в 12:42.
Rik вне форума Ответить с цитированием
Старый 02.01.2015, 20:01   #190
vladrvv
Пользователь
 
Регистрация: 07.11.2009
Сообщений: 59
По умолчанию

Выражения в фильтре не допускается ? Типа такого ?
Цитата:
TablPrais.FILTER:='LEFT(DTOS(DAT_B) ,6) <='+CHR(39)+sDatTek+CHR(39);
vladrvv вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме 20000 рублей в месяц

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Что же я написал? Sibedir Свободное общение 26 04.10.2010 04:01
Я написал текстовую игру... saggy Софт 11 05.06.2010 21:32
Написал редактор карт sasha1993 Gamedev - cоздание игр: Unity, OpenGL, DirectX 8 18.07.2009 20:31
Написал прогу в паскале... deu4er Помощь студентам 2 19.11.2008 20:08
Написал бэкдор, оцените KORN Софт 7 18.11.2007 08:55


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS