для смены пороля скрипт не нужен...
создайте новйю форму добавьте в нее поле edit и свяжите его с полем пороля в базе данных добавте кнопку укажите кнопке деиствие сохранить запись ... теперь на главной форме расположите кнопку выбирите для нее действие "ПОКАЗАТЬ ЗАПИСЬ" укажите ту самую новую форму... и ТД
1,351 2019-01-29 13:46:53
Re: [Нужна помощь] Добавление функции "изменить пароль". (3 replies, posted in Russian)
1,352 2019-01-28 19:48:09
Re: номер жеского диска (8 replies, posted in Russian)
я думаю покупателей у Дмитрия в полне хватает, встроит в прогу скрипт а потом отлавливать пиратов в полне возможно... я вот чего прикинул, лицензию можно привязать к адресу электронной почты.. в случае первого запуска программа будет просит ключ лицензии, так вот при первом вводе лицензии прога формерует рандомное число соединяется с сервером в сети и передает ему ключ и рандомное число потом сервак основываясь на ключе посылает это рандомное число на почту, пользователь вводит его в программу и активация закончена... так можно будет избежать покрайне мере массовой раздачи ключа от программы..
1,353 2019-01-28 16:04:52
Re: Вопрос по gsSlide (8 replies, posted in Russian)
наверное примерно так...
(SELECT Phone FROM phones WHERE Phones.id_Kontragent=Kontragent.id)
1,354 2019-01-28 12:39:31
Re: номер жеского диска (8 replies, posted in Russian)
не у кого вариантов больше нет? .... Гугл что-то тоже не помощьник
1,355 2019-01-27 23:39:55
Re: номер жеского диска (8 replies, posted in Russian)
В идеале нужно делать онлайн подтверждение ключа раз в месяц, чтобы блокировать / отзывать лицензии тех пользователей, которые нарушают пользовательское соглашение. Хотя даже Microsoft это не очень помогает )))
я понимаю, что идеальной защиты нет, просто хочу уменьшить колличество (пиратских) копий... Кулибин все равно найдется, но моленький )
1,356 2019-01-27 20:57:43
Re: номер жеского диска (8 replies, posted in Russian)
http://myvisualdatabase.com/forum/viewtopic.php?id=1465
Может это?
не, это то же самое.. мне нужен серийник именно харда... серийник основанный на томе диска долго не проработает стоит только отформатировать и ТП.. тоесть придется постоянно делать новый ключ... Жеский диск обычто держится дольше ))
Пользователь будет покупать лицензию на каждый диск.. на тома дисков денег не хватит)
Можно и обычной активацией воспользоваться но коды активации такого варианта быстро разлетятся по сети.. все таки лучше привязываться к диску..
1,357 2019-01-27 15:59:24
Topic: номер жеского диска (8 replies, posted in Russian)
как мне получить номер жетского диска?
GetHardDiskSerial возвращает либо с: либо d: но это разделы диска..
1,358 2019-01-25 21:03:48
Re: OnMouseLeave-Panel (3 replies, posted in Russian)
решил
сделал на заднем фоне еще панель, чуточку больше..
теперь так: жму кнопку появляются понели при это панель на заднем фоне не активированна, когда курсор попадает на внешнию панель, та , что на заднем фоне активируется и привыводе курсора панели закрываются
1,359 2019-01-25 18:06:52
Re: OnMouseLeave-Panel (3 replies, posted in Russian)
К сожалению не совсем вас понял.
Чтобы панель не исчезала, нужно просто убрать скрипт, который вы привели в пример.
Панель должна исчезнуть, но не когда я наважу курсор на кнопки (расположенные на этой понели) а когда вывожу курсор за пределы панели
1,360 2019-01-25 16:50:02
Topic: OnMouseLeave-Panel (3 replies, posted in Russian)
procedure frmAdmin_pOtherKon_OnMouseLeave (Sender: TObject);
begin
frmAdmin.pOtherKon.Visible:=False;
end;
на панели есть кнопки при наведении курсора на них панель закрывается, как можно этого избежать?
мне нужно,что бы я мог кликать по кнопкам на панели
1,361 2019-01-25 15:27:23
Topic: SSL сертификат сервера (1 replies, posted in Russian)
Я хотел добавить в свою программу работу с quintadb
https://quintadb.ru/api/index#create_database
но там нужно проверять SSL сертификат сервера на валидность
как это можно сделать?
1,363 2019-01-24 18:35:47
Re: мультиязычность в выподающем меню (4 replies, posted in Russian)
все дошло
// если открыта форма * то переменная содежит имя этой формы
if sender = 'frmAdmin' then mur:=frmAdmin else
if sender = 'frmMasterWork' then mur:=frmMasterWork else
if sender = 'frmServiceCen' then mur:=frmServiceCen;
rta.free;
// создаем выподающее меню
mnFile := TMenuItem.Create (mur);
mnFile.Caption := pupmFa;
1,364 2019-01-24 16:13:32
Re: мультиязычность в выподающем меню (4 replies, posted in Russian)
Очень странно, что код вообще работает ))) Свойство формы, в котором хранится ссылка на главное меню формы (а это обычно экземпляр класса TMainMenu), называется Menu. Разница между главной формой и остальными формами MVD в том, что на главной форме меню уже создано, а на остальных его нужно создавать скриптом.
Вот полностью рабочий скрипт обновления
procedure UpdateMenu;
var
fiLang:TStringList;
i,s, c: integer;
subfiLangi: TMenuItem;
mnFilereport: TMenuItem;
subfiLangiEdit: TMenuItem;
subfiLangirepor: TMenuItem;
subfiLangiDel: TMenuItem;
subfiLangiPrint: TMenuItem;
subfiLangipdf: TMenuItem;
mnFile: TMenuItem;
mnfiLangi: TMenuItem;
subFileNextUser: TMenuItem;
subFileClose: TMenuItem;
mnDictionary: TMenuItem;
subDictionaryPriceList: TMenuItem;
subDictionaryDash1: TMenuItem;
subDictionaryDash2: TMenuItem;
subDictionaryDash3: TMenuItem;
subDictionaryDash4: TMenuItem;
subDictionaryDash5: TMenuItem;
subDictionaryStatusUser: TMenuItem;
subDictionaryStatusEquipment: TMenuItem;
subDictionaryCompany: TMenuItem;
subDictionaryEquipment: TMenuItem;
subDictionaryBrand : TMenuItem;
subDictionaryAccessories: TMenuItem;
subFilereport: TMenuItem;
mnActivities: TMenuItem;
subEvents: TMenuItem;
subDonations: TMenuItem;
begin
Form1.mniFile.Visible := False;
Form1.mniOptions.Visible := False;
Form1.mniAbout.Visible := False;
c := Form1.MainMenu.Items.Count-1;
for i := c downto 0 do
if Form1.MainMenu.Items[i].Visible then Form1.MainMenu.Items[i].Free;
mnFile := TMenuItem.Create (Form1.MainMenu);
mnFile.Caption := 'Файл';
subFileNextUser := TMenuItem.Create (Form1.MainMenu);
subFileNextUser.Caption := 'Сменить пользователя ';
subFileNextUser.OnClick := @MenuClick1;
subFileClose := TMenuItem.Create (Form1.MainMenu);
subFileClose.Caption := 'Выход';
subFileClose.OnClick := @MenuClick2;
mnDictionary := TMenuItem.Create (Form1.MainMenu);
mnDictionary.Caption := 'Словари';
subDictionaryPriceList := TMenuItem.Create (Form1.MainMenu);
subDictionaryPriceList.Caption := 'Прайс лист';
subDictionaryPriceList.OnClick := @MenuClick3;
subDictionaryDash1:= TMenuItem.Create (Form1.MainMenu);
subDictionaryDash1.Caption := '-';
subDictionaryDash1.Enabled:= False;
subDictionaryStatusUser := TMenuItem.Create (Form1.MainMenu);
subDictionaryStatusUser.Caption := 'Статус пользователя ';
subDictionaryStatusUser.OnClick := @MenuClick4;
subDictionaryStatusEquipment := TMenuItem.Create (Form1.MainMenu);
subDictionaryStatusEquipment.Caption := 'Статус оборудования ';
subDictionaryStatusEquipment.OnClick := @MenuClick5;
subDictionaryDash2:= TMenuItem.Create (Form1.MainMenu);
subDictionaryDash2.Caption := '-';
subDictionaryDash2.Enabled:= False;
subDictionaryCompany := TMenuItem.Create (Form1.MainMenu);
subDictionaryCompany.Caption := 'Компании ';
subDictionaryCompany.OnClick := @MenuClick6;
subDictionaryEquipment := TMenuItem.Create (Form1.MainMenu);
subDictionaryEquipment.Caption := 'Оборудование';
subDictionaryEquipment.OnClick := @MenuClick7;
subDictionaryBrand := TMenuItem.Create (Form1.MainMenu);
subDictionaryBrand.Caption := 'Бренды';
subDictionaryBrand.OnClick := @MenuClick8;
subDictionaryDash3:= TMenuItem.Create (Form1.MainMenu);
subDictionaryDash3.Caption := '-';
subDictionaryDash3.Enabled:= False;
subDictionaryAccessories := TMenuItem.Create (Form1.MainMenu);
subDictionaryAccessories.Caption := 'Комплектующие';
subDictionaryAccessories.OnClick := @MenuClick9;
mnActivities := TMenuItem.Create (Form1.MainMenu);
mnActivities.Caption := 'Помощь';
subEvents := TMenuItem.Create (Form1.MainMenu);
subEvents.Caption := 'Сайт программы';
subEvents.OnClick := @MenuClick10;
subDictionaryDash4:= TMenuItem.Create (Form1.MainMenu);
subDictionaryDash4.Caption := '-';
subDictionaryDash4.Enabled:= False;
subDonations := TMenuItem.Create (Form1.MainMenu);
subDonations.Caption := 'О программе';
subDonations.OnClick := @MenuClick11;
mnFilereport := TMenuItem.Create (Form1.MainMenu);
mnFilereport.Caption := langIniG.ReadString('pupmenu','report', '');
subFilereport:= TMenuItem.Create (Form1.MainMenu);
subFilereport.Caption := 'Новый отчет';
subFilereport.OnClick := @clicknew;
subDictionaryDash5:= TMenuItem.Create (Form1.MainMenu);
subDictionaryDash5.Caption := '-';
mnfiLangi := TMenuItem.Create (Form1.MainMenu);
mnfiLangi.Caption := langIniG.ReadString('pupmenu','lang', ''); ;
Form1.MainMenu.Items.Add(mnFile);
mnFile.Add(subFileNextUser);
mnFile.Add(subFileClose);
Form1.MainMenu.Items.Add(mnDictionary);
mnDictionary.Add(subDictionaryPriceList);
mnDictionary.Add(subDictionaryDash1);
mnDictionary.Add(subDictionaryStatusUser);
mnDictionary.Add(subDictionaryStatusEquipment);
mnDictionary.Add(subDictionaryDash2);
mnDictionary.Add(subDictionaryCompany);
mnDictionary.Add(subDictionaryEquipment);
mnDictionary.Add(subDictionaryBrand);
mnDictionary.Add(subDictionaryDash3);
mnDictionary.Add(subDictionaryAccessories);
Form1.MainMenu.Items.Add(mnfiLangi);
try
fiLang := TStringList.Create;
fiLang.Text := GetFilesList('languages','*.ini',False);
s := fiLang.Count-1;
for i:=0 to s do
begin
subfiLangi:= TMenuItem.Create (Form1.MainMenu);
subfiLangi.AutoCheck := True;
if fiLang[i] = strshowG then subfiLangi.Checked := True;
subfiLangi.Caption := ExtractFileName(fiLang[i]);
Delete(subfiLangi.Caption, Length(subfiLangi.Caption) -3 , 4);
subfiLangi.Hint := (fiLang[i]);
mnfiLangi.Add(subfiLangi);
subfiLangi.OnClick := @clicklang;
end;
finally
fiLang.free ;
end;
Form1.MainMenu.Items.Add(mnFilereport);
mnFilereport.Add(subFilereport);
mnFilereport.Add(subDictionaryDash5);
try
fiLang := TStringList.Create;
fiLang.Text := GetFilesList('Report','*.fr3',False);
s := fiLang.Count-1;
for i:=0 to s do
begin
subfiLangirepor:= TMenuItem.Create (Form1.MainMenu);
subfiLangirepor.Caption := ExtractFileName(fiLang[i]);
Delete(subfiLangirepor.Caption, Length(subfiLangirepor.Caption) -3 , 4);
subfiLangirepor.Hint := (fiLang[i]);
subfiLangiEdit := TMenuItem.Create(Form1.MainMenu);
subfiLangiEdit.Caption := langIniG.ReadString('pupmenu','reportedit', '');
subfiLangiEdit.Hint := (fiLang[i]);
subfiLangiDel := TMenuItem.Create(Form1.MainMenu);
subfiLangiDel.Caption := langIniG.ReadString('pupmenu','reportdel', '');
subfiLangiDel.Hint := (fiLang[i]);
subfiLangipdf := TMenuItem.Create(Form1.MainMenu);
subfiLangipdf.Caption := 'PDF';
subfiLangipdf.Hint := (fiLang[i]);
subfiLangiPrint := TMenuItem.Create(Form1.MainMenu);
subfiLangiPrint.Caption := langIniG.ReadString('pupmenu','reportprint', '');
subfiLangiPrint.Hint := (fiLang[i]);
subfiLangiEdit.OnClick := @clickEdit;
subfiLangiDel.OnClick := @clickDel;
subfiLangiPrint.OnClick := @clickPrint;
subfiLangipdf.OnClick := @clickpdf;
mnFilereport.Add(subfiLangirepor);
subfiLangirepor.Add(subfiLangiEdit);
subfiLangirepor.Add(subfiLangiDel);
subfiLangirepor.Add(subfiLangipdf);
subfiLangirepor.Add(subfiLangiPrint);
end;
finally
fiLang.free ;
end;
Form1.MainMenu.Items.Add(mnActivities);
mnActivities.Add(subEvents);
mnActivities.Add(subDictionaryDash4);
mnActivities.Add(subDonations);
end;
но только для главной формы...
мой скрипт из первий записи выводит меню в 3-х формах кроме главной
и я не могу понять как мне правельно изменить эту часть скрипта
c := frmLogin.TMainMenu.Items.Count-1;
for i := c downto 0 do
if frmLogin.TMainMenu.Items[i].Visible then frmLogin.TMainMenu.Items[i].Free;
или как еще можно перерисовать это меню?
1,365 2019-01-24 07:43:16
Re: вычисляемое поле с условием (29 replies, posted in Russian)
ну логика разная
можете в переменную вывести результать а там уже
if (переменная > 80) AND (переменная < 89) then form1.label1.Caption:='Интеллект ниже среднего';
1,366 2019-01-24 06:36:57
Topic: мультиязычность в выподающем меню (4 replies, posted in Russian)
вот скрипт меню
procedure SwitchMenu (Sender: string);
var
fiLang,reporfile:TStringList;
i,s,t,c: integer;
subfiLangi,mnFilereport,subfiLangiEdit,subfiLangirepor,subfiLangiDel,subfiLangiPrint,subfiLangipdf,mnFile,mnfiLangi,subFileNextUser,subFileClose,mnDictionary,subDictionaryPriceList,subDictionaryDash1,subDictionaryDash2,subDictionaryDash3,subDictionaryDash4,subDictionaryDash5,subDictionaryStatusEquipment,subDictionaryCompany,subDictionaryEquipment,subDictionaryBrand,subDictionaryAccessories,subFilereport,mnActivities,subEvents,subDonations : TMenuItem;
rta:TMainMenu;
mur:TForm;
begin
// если открыта форма * то переменная содежит имя этой формы
if sender = 'frmAdmin' then mur:=frmAdmin else
if sender = 'frmMasterWork' then mur:=frmMasterWork else
if sender = 'frmServiceCen' then mur:=frmServiceCen;
c := frmLogin.TMainMenu.Items.Count-1;
for i := c downto 0 do
if frmLogin.TMainMenu.Items[i].Visible then frmLogin.TMainMenu.Items[i].Free;
// создаем выподающее меню
mnFile := TMenuItem.Create (mur);
mnFile.Caption := pupmFa;
subFileNextUser := TMenuItem.Create (mur);
subFileNextUser.Caption := pupmnuser;
subFileNextUser.OnClick := @MenuClick1;
subFileClose := TMenuItem.Create (mur);
subFileClose.Caption := pupmex;
subFileClose.OnClick := @MenuClick2;
mnDictionary := TMenuItem.Create (mur);
mnDictionary.Caption := pupmlib;
subDictionaryPriceList := TMenuItem.Create (mur);
subDictionaryPriceList.Caption := pupmpr;
subDictionaryPriceList.OnClick := @MenuClick3;
subDictionaryDash1:= TMenuItem.Create (mur);
subDictionaryDash1.Caption := '-';
subDictionaryDash1.Enabled:= False;
subDictionaryStatusEquipment := TMenuItem.Create (mur);
subDictionaryStatusEquipment.Caption := pupmst;
subDictionaryStatusEquipment.OnClick := @MenuClick5;
subDictionaryDash2:= TMenuItem.Create (mur);
subDictionaryDash2.Caption := '-';
subDictionaryDash2.Enabled:= False;
subDictionaryCompany := TMenuItem.Create (mur);
subDictionaryCompany.Caption := pupmco;
subDictionaryCompany.OnClick := @MenuClick6;
subDictionaryEquipment := TMenuItem.Create (mur);
subDictionaryEquipment.Caption := pupmeq;
subDictionaryEquipment.OnClick := @MenuClick7;
subDictionaryBrand := TMenuItem.Create (mur);
subDictionaryBrand.Caption := pupmbr;
subDictionaryBrand.OnClick := @MenuClick8;
subDictionaryDash3:= TMenuItem.Create (mur);
subDictionaryDash3.Caption := '-';
subDictionaryDash3.Enabled:= False;
subDictionaryAccessories := TMenuItem.Create (mur);
subDictionaryAccessories.Caption := pupmeex;
subDictionaryAccessories.OnClick := @MenuClick9;
mnActivities := TMenuItem.Create (mur);
mnActivities.Caption := pupmhe;
subEvents := TMenuItem.Create (mur);
subEvents.Caption := pupmsi;
subEvents.OnClick := @MenuClick10;
subDictionaryDash4:= TMenuItem.Create (mur);
subDictionaryDash4.Caption := '-';
subDictionaryDash4.Enabled:= False;
subDonations := TMenuItem.Create (mur);
subDonations.Caption := pupmab;
subDonations.OnClick := @MenuClick11;
mnFilereport := TMenuItem.Create (mur);
mnFilereport.Caption := pupmreport;
subFilereport:= TMenuItem.Create (mur);
subFilereport.Caption := pupmreportnew;
subFilereport.OnClick := @clicknew;
subDictionaryDash5:= TMenuItem.Create (mur);
subDictionaryDash5.Caption := '-';
mnfiLangi := TMenuItem.Create (mur);
mnfiLangi.Caption := pupmlang;
// выводим выподающее меню
rta:=TMainMenu.Create(mur);
rta.Items.Add(mnFile);
mnFile.Add(subFileNextUser);
mnFile.Add(subFileClose);
rta.Items.Add(mnDictionary);
mnDictionary.Add(subDictionaryPriceList);
mnDictionary.Add(subDictionaryDash1);
mnDictionary.Add(subDictionaryStatusEquipment);
mnDictionary.Add(subDictionaryDash2);
mnDictionary.Add(subDictionaryCompany);
mnDictionary.Add(subDictionaryEquipment);
mnDictionary.Add(subDictionaryBrand);
mnDictionary.Add(subDictionaryDash3);
mnDictionary.Add(subDictionaryAccessories);
// выводим в выподающем меню список файлов мультиязычности
rta.Items.Add(mnfiLangi);
try
fiLang := TStringList.Create;
fiLang.Text := GetFilesList('languages','*.ini',False);
s := fiLang.Count-1;
for i:=0 to s do
begin
subfiLangi:= TMenuItem.Create (mur);
subfiLangi.Caption := ExtractFileName(fiLang[i]);
Delete(subfiLangi.Caption, Length(subfiLangi.Caption) -3 , 4);
subfiLangi.Hint := (fiLang[i]);
mnfiLangi.Add(subfiLangi);
subfiLangi.OnClick := @clicklang;
end;
finally
fiLang.free ;
end;
// выводим в выподющем меню список фалов отчетов
rta.Items.Add(mnFilereport);
mnFilereport.Add(subFilereport);
mnFilereport.Add(subDictionaryDash5);
reporfile := TStringList.Create;
reporfile.Text := GetFilesList( 'Report\','*.fr3',True); //ExtractFilePath(Application.ExeName) +
t := reporfile.Count-1;
for i:=0 to t do
begin
subfiLangirepor:= TMenuItem.Create (mur);
subfiLangirepor.Caption := ExtractFileName(reporfile[i]);
subfiLangirepor.Hint := (reporfile[i]);
mnFilereport.Add(subfiLangirepor);
Delete(subfiLangirepor.Caption, Length(subfiLangirepor.Caption) -3 , 4);
subfiLangiEdit := TMenuItem.Create(mur);
subfiLangiEdit.Caption := pupmreportedit;
subfiLangiEdit.Hint := (reporfile[i]);
subfiLangiDel := TMenuItem.Create(mur);
subfiLangiDel.Caption := pupmreportdel;
subfiLangiDel.Hint := (reporfile[i]);
subfiLangipdf := TMenuItem.Create(mur);
subfiLangipdf.Caption := 'PDF';
//subfiLangipdf.Hint := (fiLang[i]);
subfiLangiPrint := TMenuItem.Create(mur);
subfiLangiPrint.Caption := pupmreportprint;
subfiLangiPrint.Hint := (reporfile[i]);
subfiLangiEdit.OnClick := @clickEdit;
subfiLangiDel.OnClick := @clickDel;
subfiLangiPrint.OnClick := @clickPrint;
subfiLangipdf.OnClick := @clickpdf;
subfiLangirepor.Add(subfiLangiEdit);
subfiLangirepor.Add(subfiLangiDel);
subfiLangirepor.Add(subfiLangipdf);
subfiLangirepor.Add(subfiLangiPrint);
end;
rta.Items.Add(mnActivities);
mnActivities.Add(subEvents);
mnActivities.Add(subDictionaryDash4);
mnActivities.Add(subDonations);
end;
проблема в том, что вот эта часть
c := frmLogin.TMainMenu.Items.Count-1;
for i := c downto 0 do
if frmLogin.TMainMenu.Items[i].Visible then frmLogin.TMainMenu.Items[i].Free;
работает только на главной форме, если просто сменить имя формы получаю ошибку, как мне ее правельно записать?
1,367 2019-01-23 18:29:56
Re: Печать изображения (2 replies, posted in Russian)
procedure frmComDoc_Button1_OnClick (Sender: TObject; var Cancel: boolean);
var
Printer:TPrinter;
Canvas:TCanvas;
Image:TImage;
begin
Printer:=TPrinter.Create;
Canvas:=TCanvas.Create;
Image:=TImage.Create(frmComDoc);
Image.Picture.LoadFromFile(frmComDoc.dbImage.dbFileName);
Printer.BeginDoc;
with Printer do
begin
Printer.Canvas.StretchDraw(0,0,PageHeight,PageWidth,Image.Picture.Graphic);
end;
Printer.EndDoc;
end;
у меня изображения (отсканированные A4) будут на A4 печататься PageHeight,PageWidth какой размер нужно установить или их можно не трогать (сам по исходному размеру печатает)?
1,368 2019-01-23 10:08:34
Re: вычисляемое поле с условием (29 replies, posted in Russian)
Всем спасибо.
А можно ли поместить результат вычислений на форму в Label или Еdit?
form1.label1.Caption:=
form1.edit1.text:=
1,369 2019-01-23 10:06:18
Re: Публикация и работа программы в сетевом режиме (11 replies, posted in Russian)
Я же написал, что файл script.dcu есть, но я его удалил ради эксперимента.
И программа работает без него.
Скрипты в программе есть - больше 6000 строк.
Версия MVD 5.1
Может разработчик что-то поменял?
специально проверил на одном из проектов, все работает..
1,370 2019-01-23 09:36:14
Re: Печать изображения (2 replies, posted in Russian)
Через TPrinter. В гугле есть множество примеров на delphi.
На сколько я понял из моножества примеров гугл
procedure frmComDoc_Button1_OnClick (Sender: TObject; var Cancel: boolean);
var
Printer:TPrinter;
Canvas:TCanvas;
Image:TImage;
Rect: string;
begin
Printer:=TPrinter.Create;
Canvas:=TCanvas.Create;
Image:=TImage.Create(frmComDoc);
Image.Picture.LoadFromFile(SQLExecute('SELECT scanDoc FROM comDoc WHERE id='+frmComDoc.tgResultSearch.sqlValue ));
Printer.BeginDoc;
with Printer do
Printer.Canvas.StretchDraw(Rect(0,0,PageHeight,PageWidth),Image.Picture.Bitmap);
Printer.EndDoc;
end;
но вот тут мне сообщает, что слишком много парраметров
Rect(0,0,PageHeight,PageWidth)
если, что-то убираешь, то тогда тут не достаточно парраметров
.StretchDraw(Rect(0,0,PageHeight,PageWidth),Image.Picture.Bitmap)
1,371 2019-01-22 17:58:08
Topic: Печать изображения (2 replies, posted in Russian)
Возможно-ли отправить на печать изображение из базы данных минуя отчет?
1,372 2019-01-18 15:51:56
Re: даделать смс (4 replies, posted in Russian)
К сожалению я не могу полностью понять описанную вами проблему, пожалуйста опишите подробней, к сожалению я не помню всех ньюансов использования СМС сообщений.
TurboSmsUa.SendSMS и ClickatellCom.SendSMS возвращает нам (готовый) ответ.
в какой-то теме я уже писал, что в конце возвращаемого ответа пользователю есть лишние знаки (пробел) и (переход на новую строку)
в частноти при ответе пользователю от turbosms ("Не достаточно параметров для выполнения функции") есть два лишних символа
другие ответы не проверял.
вот я и подумал... что тем кто собирается не просто выводить пользователю ответы но и стрить на них логику
проще сделать TurboSmsUa.CodeSendSMS (тоже самое, что TurboSmsUa.SendSMS) только в ответе не текст а 1,2,3,4,5,6,7 где:
ПРИМЕР:
1- Неправильный логин и/или пароль
2- Неправильный формат XML
3- Недостаточно кредитов на аккаунте пользователя
4- Нет верных номеров получателей
5- Неверный текст
6- Ошибка в имени отправителя
7- Сообщение принято!
1,373 2019-01-18 11:01:58
Re: Сохранение измененного порядка строк перетаскиванием (7 replies, posted in Russian)
В TableGrid есть свойство goRowMoving, позволяющее разрешить изменение порядка строк перетаскиванием.
Однако, измененный порядок строк после закрытия формы не сохраняется.
Можно ли как-то сохранять измененный порядок строк?
TableGrid выводит записи по порядку их id..
1,374 2019-01-17 16:35:41
Re: StringReplace (2 replies, posted in Russian)
Как вариант - можно попробовать ReplaceStr:
1,375 2019-01-17 16:29:44
Re: вычисляемое поле с условием (29 replies, posted in Russian)
подскажите на примере теста на iq:
Считаю сумму правильных ответов в вычисляемом поле1 и вывожу в tablegrid.
Хочу в соседнем столбце в поле2 записывать "диагноз" который зависит от вычисляемого поля1, то есть, например, если вычисляемое поле1 > 80 < 89 записать в поле 2 - "Интеллект ниже среднего" и т.п.
Как это правильно сделать?
примерно так
if (s>80) AND (s<89) then form1.edit1.text:='Интеллект ниже среднего';
где s переменная содержащая число..