76

(33 replies, posted in Russian)

dazzleqq wrote:

Подскажите, может быть знаете. Как в PHP сделать проверку пароля при авторизации?

тут смотрите
https://pavlenkovv.ru/2022/03/29/%d0%be … %b1%d0%b4/

77

(29 replies, posted in Russian)

if (условие) then действие;

if (условие) then действие else
if (условие) then действие else
if (условие) then действие;
   
if (условие) then действие else действие ;
  
if (условие) then 
    if (условие) then действие else действие ;
    
if (условие) then 
begin
    действие;
    действие;
end;

if (условие) then 
begin
    действие;
    действие;
end else действие;
  
if (условие) then 
begin
    действие;
    действие;
end else
begin
    действие;
    действие;
end;

   

procedure frm_add_divace_Button8_OnClick (Sender: TObject; var Cancel: boolean);
begin
  if (frm_add_divace.Edit10.Text <> '') then add_up_devace.ComboBox5.ItemIndex := add_up_devace.ComboBox5.Items.IndexOf(frm_add_divace.Edit10.Text);
  if (frm_add_divace.Edit11.Text <> '') then add_up_devace.ComboBox6.ItemIndex := add_up_devace.ComboBox6.Items.IndexOf(frm_add_divace.Edit11.Text);
  if (frm_add_divace.Edit12.Text <> '') then add_up_devace.ComboBox8.ItemIndex := add_up_devace.ComboBox8.Items.IndexOf(frm_add_divace.Edit12.Text);
end;

Всем спасибо, я все понял.
Транзакция либо выполняет все действия единовременно, тем самым гарантирует выполнение всех запросов одним покетом, либо в случае ошибки не выполняет вообще ни каких операций

sparrow wrote:

А вы разве не замечали таблицы ...OLD... в менеджере баз данных?


The old way to rename column

SQLite did not support the ALTER TABLE RENAME COLUMN syntax before version 3.25.0.

If you’re using the SQLite with the version lower than 3.25.0 and could not upgrade, then you should follow these steps to rename a column:

    First, start a transaction.
    Second, create a new table whose structure is the same as the original one except for the column that you want to rename.
    Third, copy data from the original table to the new table.
    Fourth, drop the original table.
    Fifth, rename the new table to the original table.
    Finally, commit the transaction.


Можно и не удалять При удалении VACUUM желательно Освободить место.
Отсюда с примером https://www.sqlitetutorial.net/sqlite-rename-column/ В нижней части.

Понял, спасибо!
Транзакция должна создать какой-то временный кеш  и использовать его для капирования данных? Если нет, то может в таком случае использовать простое капирование БД?

Я хотел поменять имена нескольких полей SQL запросам
но ват так не вышло

SQLExecute('ALTER TABLE unionSerieToBooks RENAME COLUMN id_series TO id_serie');

Я полез в сеть и наткнулся на пост, в котором утверждалось что изменить имя поля путем запроса можно только начиная с версии SQLite 3.25
Но ведь когда мы работаем с проектом, имена полей меняются.

Помогите сменить имя поля, пожалуйста !

81

(17 replies, posted in General)

jrga wrote:

I don't know if "dynamic query" is the best name for this project. I like programming, but my background is different. I created it to be integrated into my applications, which can be activated with Ctrl-9. The goal is to have a feature in the application itself to eventually resolve end-user issues by checking tables, executing custom SQL statements in real time, etc. If anyone wants to improve it, please share the improvements. It was made with MVD 5.6

обнаружен вирус
virus detected

82

(3 replies, posted in General)

unforgettable wrote:

I am getting this type of error red strip when I execute project. Can any one help.

;

Переработал, уже на много лучше
https://myvisualdatabase.com/forum/misc.php?action=pun_attachment&amp;item=9998&amp;download=0

sparrow wrote:

проверил закрашивание до чека и после в событии OnMouseDown
Раскрашивается  в обоих случаях.

Если возникает белая рамка переставьте
Form1.TableGrid1.dbPopupMenu.Items[5].bitmap.Canvas.Pen.Color:=$000080FF;
на первое место до определения размеров.

А у меня только после, значит где-то косяк..

vovka3003 wrote:

А эта настройка обязательно должна быть в меню "списка книг"..?

я в начале эту настройку в выборе темы делал, но она мне там не понравилась

sparrow wrote:
 
  Form1.TableGrid1.dbPopupMenu.Items[5].Bitmap.height := 16;
  Form1.TableGrid1.dbPopupMenu.Items[5].Bitmap.width := 16;
  Form1.TableGrid1.dbPopupMenu.Items[5].bitmap.Canvas.Pen.Color:=$000080FF;
  Form1.TableGrid1.dbPopupMenu.Items[5].bitmap.Canvas.Brush.Color:=$000080FF;
  Form1.TableGrid1.dbPopupMenu.Items[5].bitmap.Canvas.roundrect(1,3,16,14,2,2);

Прикол! У меня так не работало   
Оказывается Items не раскрашивался до

if (sID >= 0) then
  begin
    if (MouseRight) then
    begin
      if (SQLExecute('SELECT IFNULL(read,0) FROM books WHERE id=' + IntToStr(frmMain.tgListBooks.dbIndexToID(sID))) = '0') then
          frmMain.tgListBooks.dbPopupMenu.Items[3].Checked := False else
          frmMain.tgListBooks.dbPopupMenu.Items[3].Checked := True;
      if (SQLExecute('SELECT IFNULL(favorites,0) FROM books WHERE id=' + IntToStr(frmMain.tgListBooks.dbIndexToID(sID))) = '0') then
          frmMain.tgListBooks.dbPopupMenu.Items[2].Checked := False else
          frmMain.tgListBooks.dbPopupMenu.Items[2].Checked := True;
    end;

а после прекрасно все работает
может это связано с событием OnMouseDown ????
Вот только части меню стали светлыми.
https://myvisualdatabase.com/forum/misc.php?action=pun_attachment&amp;item=9995&amp;download=0

vovka3003 wrote:

А не получается-то что..?

уже все получилось

k245 wrote:

Есть задача перекрашивать черно-белые PNG с прозрачностью в цветные. Но в MVDB для этого кое-чего не хватает у TPNGImage.  Если бы получилось, то стили автоматически бы получали картинки для кнопок в нужной цветовой тональности. А то сейчас приходится мудрить и делать копии разных цветов....

та нет Вы не туда, я же ворю, пытался создать изображение нужного цвета и поместить его в индекс, но как оказалось imageList не нужен ..

bmp:TBitMap;
begin
  bmp:=TBitMap.Create;
  bmp.Width := 16;
  bmp.Height := 16;

  bmp.Canvas.Pen.Color:=$000080FF;
  bmp.Canvas.Brush.Color:=$000080FF;
  bmp.Canvas.Rectangle(0,0,bmp.Width,bmp.Height);

  frmMain.tgListBooks.dbPopupMenu.Items[6].Bitmap := bmp;
k245 wrote:

То есть в результате получается PNG с прозрачностью? Если да, то как ей управлять попиксельно?
Но что-то мне подсказывает, что получаются PNG в стиле программы Paint - без прозрачности.

Нет, в данном случае прозрачность я не делал, просто изображение залитое нужным цветом  и все..

vovka3003 wrote:

https://i.imgur.com/cu0mDwp.png

все так, просто я крашу весь TImageList, а нужно поместить в каждый его индекс изображение со своим цветом, в начале я так и пытался сделать..
Создавал bmp - перекрашивал, переводил в png, но как его добавить в индекс не могу понять

sparrow wrote:

Не совсем понятно, что все таки должно быть ?


Если цвета ряда и текста статические и определены в вашей программе,
то нарисовать овал нужного цвета на прозрачном фоне и поместить в ImageList?

Если идея другая, можно детальнее.

не цвета динамические

vovka3003 wrote:

А что не получается-то..?

в каждом индексе должен быть свой цвет
https://myvisualdatabase.com/forum/misc.php?action=pun_attachment&amp;item=9994&amp;download=0

Но это не решает моей задачи, мне нужен свой цвет для каждого индекса

vovka3003 wrote:

Вообще "сигналом" прозрачности является левый нижний пиксель. Какого цвета он, тот цвет и будет прозрачным.

ну да, по краям изображения получились черные полоски, значит потому и стало прозрачным

sparrow wrote:

BkColor попробовал и не сработало. У меня ПНГ был рисунок на прозрачном фоне. Мне этого хватало.
Я не пробовал со стилями.


там еще есть загрузка из базы

ХА, я официально стал членом клуба (костыли и велосипеды)  big_smile big_smile big_smile
я просто добавил в изображение фигуру и вынес ее за пределы канвы, делал на фотошопе, теперь прозрачность работает и отображается нужный мне цвет

sparrow wrote:

ImageList.AddPng('имя PNG файла');

только в субботу пробовал для PageControl

без преобразований только ImageList

mask было лишним
а размер выводило 16х16
для прозрачности хватает 32 bit

решил сделать прозрачный png а цвет ImageList изменить, ни чего не вышло, если изображение полностью прозрачное, то оно выводиться черным

Люди добрые, помогите решить проблему !
 
Я хочу сделать в меню TableGrid добавить возможность устанавливать цвет ряда и текста.
В колонке с лева предназначенной для иконок  хочу отображать действующие цвета и вот как раз это у меня не получается
 
вот к таким дебрям я пришел в итоге
даже в png перевожу, но косяк в том, что  ImageList берет либо только адрес изображения либо поток


var
ImageList:TImageList;
bmp:TBitmap;
png: TPngImage;
begin
  bmp := TBitmap.Create;
  bmp.Canvas.Brush.Color := clBlack;
  png := TPngImage.Create;
  png.Assign( bmp );
  
  ImageList:=TImageList.Create(frmMain);
  ImageList.Masked:=false;
  ImageList.ColorDepth:=cd32bit;

  ImageList.Width := 20;
  ImageList.Height := 20;

  ImageList.AddPng(????????); 

  frmMain.tgListBooks.dbPopupMenu.Images := ImageList;
  frmMain.tgListBooks.dbPopupMenu.Items[1].ImageIndex := 0;

https://myvisualdatabase.com/forum/misc.php?action=pun_attachment&amp;item=9993&amp;download=0

98

(29 replies, posted in Russian)

levrussia174 wrote:

Мне пишет, что файл слишком велик. Давайте я картинку вышлю

 // Перебором ячеек
  for i:=0 to Form1.TableGrid1.RowCount-1 do
    if (Form1.TableGrid1.Cells[1,i] = 'Петр') then j := j+1;
  Form1.Label3.Caption := 'Петр : '+IntToStr(j);

  // Запросам SQL
  Form1.Label4.Caption := 'Иван : '+IntToStr(SQLExecute('SELECT COUNT(id) FROM a WHERE ab="Иван"'));

99

(29 replies, posted in Russian)

levrussia174 wrote:

Здравствуйте! Первый раз сижу за программой.  Сверху читал... нечего не понял, от куда что взяли. Подскажите пожалуйста на моем примере, как посчитать количество по условию.

загрузите проект

https://fileworld.pavlenkovv.ru/img/2023-10-21_19-55-24.png