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

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

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


Донат для форума - использовать для поднятия настроения себе и модераторам

А ещё здесь можно купить рекламу за 25 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

Ответ
 
Опции темы
Старый 23.12.2014, 13:33   #171
vladrvv
Форумчанин
 
Регистрация: 07.11.2009
Сообщений: 59
Репутация: 10
По умолчанию

Отправил
2014-12-23
vladrvv вне форума   Ответить с цитированием
Старый 23.12.2014, 13:56   #172
vladrvv
Форумчанин
 
Регистрация: 07.11.2009
Сообщений: 59
Репутация: 10
По умолчанию

И еще
Почему не срабатывает такое присвоение
DM.xDbfDogADD['NAME'] = DM.xDbfYslyg['NAME'];
вместо длинного
DM.xDbfDogADD.FieldByName('NAME').A sString= DM.xDbfYslyg.FieldByName('NAME').As String;
vladrvv вне форума   Ответить с цитированием
Старый 23.12.2014, 20:58   #173
Rik
Форумчанин
 
Аватар для Rik
 
Регистрация: 28.07.2007
Адрес: Урал
Сообщений: 360
Репутация: 277
По умолчанию

Цитата:
Сообщение от vladrvv Посмотреть сообщение
Отправил
2014-12-23
Отправил ответ в лс
Цитата:
Сообщение от vladrvv
И еще
Почему не срабатывает такое присвоение
DM.xDbfDogADD['NAME'] = DM.xDbfYslyg['NAME'];
вместо длинного
DM.xDbfDogADD.FieldByName('NAME').A sString= DM.xDbfYslyg.FieldByName('NAME').As String;
Такой функционал на данный момент прикрутить не получится. Можно использовать вместо FieldByName('asdfa') короткое FN('asdf')...
__________________
http://www.visual-t.ru
Rik вне форума   Ответить с цитированием
Старый 24.12.2014, 19:14   #174
vladrvv
Форумчанин
 
Регистрация: 07.11.2009
Сообщений: 59
Репутация: 10
По умолчанию

Вызов проседур печати.

В Делфи я делал так:

Цитата:
....
public
{ Public declarations }
end;
const mMon: array [1..12] of string
=('Января ','Февраля','Марта ','Апреля ','Мая','Июня ','Июля ','Августа ','Сентября','Октября ','Ноября ','Декабря');

var
FormDog: TFormDog;
procedure PrintPFR;
procedure PrintFNS;

implementation
....

procedure TFormDog.btnPrinTClick(Sender: TObject);
var
nVid:Integer;
begin
nVid:= DM.tblDog.FieldByName('vid').AsInte ger;
if nVid = 1 then
PrintPFR // 'Договор ПФР'
else if nVid = 2 then
PrintFNS // 'Договор ФНС'
else
ShowMessage('Договор Не определен!');

end;


procedure PrintPFR;
var
sSum,sNameFile,sS:String;
nSum :Double;
List1:TstringList;
y,m,d:Word;
begin
...
В Дизеле где и как объявлять , вызывать
vladrvv вне форума   Ответить с цитированием
Старый 26.12.2014, 09:44   #175
vladrvv
Форумчанин
 
Регистрация: 07.11.2009
Сообщений: 59
Репутация: 10
По умолчанию

Разобрался
vladrvv вне форума   Ответить с цитированием
Старый 26.12.2014, 15:20   #176
vladrvv
Форумчанин
 
Регистрация: 07.11.2009
Сообщений: 59
Репутация: 10
По умолчанию

1) Массивы
Объявление и инициализация не проходят
Цитата:
const m1: array [1..9] of string
=('один ','два ','три ','четыре ','пять ','шесть ','семь ','восемь ','девять ');
Объявление в виде переменной и потом присвоение - так все нормально.
2) Сумма прописью . Можете что - нибудь порекомендовать.
Есть подходящая функция?

3) ShellExecute
Можете привести пример запуска:
- любой программы ;
- программы по умолчанию
vladrvv вне форума   Ответить с цитированием
Старый 27.12.2014, 19:21   #177
Rik
Форумчанин
 
Аватар для Rik
 
Регистрация: 28.07.2007
Адрес: Урал
Сообщений: 360
Репутация: 277
По умолчанию

Цитата:
Сообщение от vladrvv Посмотреть сообщение
1) Массивы
Объявление и инициализация не проходят

Объявление в виде переменной и потом присвоение - так все нормально.
2) Сумма прописью . Можете что - нибудь порекомендовать.
Есть подходящая функция?

3) ShellExecute
Можете привести пример запуска:
- любой программы ;
- программы по умолчанию
1) Инициализация массивов при объявлении не поддерживается. Массивы не могут быть членами класса, объявляйте их как локальные переменные.

2) В движок интегрирована функция GetSumProp(Value: Variant; SmallFormat: Boolean): string; Возвращает сумму указанную в Value прописью. SmallFormat - задает писать руб. коп. полностью или сокращать. Эта-же функция интегрирована в LazReoprt в виде SUMPROP, только там есть ещё один параметр, задающий делать ли первую букву заглавной.

3) Вместо ShellExecute нужно использовать компоненту TProcess.
Код:
 Process1.Parameters.Clear;
 Process1.CurrentDirectory := UTF8ToSys(AppDir);
 Process1.Executable := 'CrossMachine';
 Process1.Parameters.Add('Param1');
 Process1.Execute;
Options у TProcess задает разные параметры, обратите внимание на poWaitOnExit - ждать или нет завершения процесса.
На неделе дополнительно добавлю TProcessUTF8, что-то я его упустил, на сколько я понимаю, пути и названия программ в нем задаются без UTF8Tosys

По поводу предыдущих постов...
Инструкция if может принимать вид, как это принято в Oberon:
Код:
if Condition then
elseif Condition then
elseif Condition then
else
end;
похоже на case, но в редакторе подсветка работает максимум для 3х веток..
__________________
http://www.visual-t.ru

Последний раз редактировалось Rik; 27.12.2014 в 19:47.
Rik вне форума   Ответить с цитированием
Старый 27.12.2014, 20:44   #178
vladrvv
Форумчанин
 
Регистрация: 07.11.2009
Сообщений: 59
Репутация: 10
По умолчанию

Цитата:
ShellExecute(Application.Handle, PChar('open'),PChar(Name_fail), nil,nil, 0);
Так в Делфи выглядит запуск программы по умолчанию. В функцию я передаю имя файла, который хочу открыть.Если это txt, то запускается текстовый редактор и открывает файл, если это xls - то excel или OpenOf и т.д. Т.е. запускается программа настроенная в системе на расширение файла.

Как это будет выглядеть в Дизеле ?
vladrvv вне форума   Ответить с цитированием
Старый 29.12.2014, 13:18   #179
Rik
Форумчанин
 
Аватар для Rik
 
Регистрация: 28.07.2007
Адрес: Урал
Сообщений: 360
Репутация: 277
По умолчанию

Цитата:
Сообщение от vladrvv Посмотреть сообщение
Так в Делфи выглядит запуск программы по умолчанию. В функцию я передаю имя файла, который хочу открыть.Если это txt, то запускается текстовый редактор и открывает файл, если это xls - то excel или OpenOf и т.д. Т.е. запускается программа настроенная в системе на расширение файла.

Как это будет выглядеть в Дизеле ?
ShellExecute является функцией Windows api и она не кроссплатформенна, поэтому универсального механизма нет, только выкручиваться через TProcess, он работает везде. Я могу добавить ShellExecute, но работать она будет только в Windows, в unix будет выдавать функция не поддерживается...
__________________
http://www.visual-t.ru
Rik вне форума   Ответить с цитированием
Старый 29.12.2014, 15:21   #180
vladrvv
Форумчанин
 
Регистрация: 07.11.2009
Сообщений: 59
Репутация: 10
По умолчанию

Прелесть этой конструкции в том , что не надо париться - какой редактор стоит в системе. Какой стоит , тот и запустит выбранный файл.
А в unix - нет программ по умолчанию ?
vladrvv вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

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


16:45.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.