Что нового

[Элементы GUI] Создание базы данных пользователей ПК

ZeVSalt

Я не лупоглазый, это прищур такой !
Сообщения
136
Репутация
0
Здравствуйте.
Пытаюсь написать базу данных пользователей ПК.
Задачи базы:
1) Редактируемость
2) Загрузка данных из файлов отчетов Aida
3) Выгрузка в печатные формы установленного образца
4) Поиск данных по условию

За основу написания скрипта взял пример http://autoit-script.ru/index.php?topic=1668.msg11878#msg11878
за что огромное спасибо

по мере написания хотелось бы советов и разъяснений, т.к. недавно начал пробовать силы в AutoIt

Итак:
Грабли №1 - при запуске скрипта дочернее окно появляется вместе с основным, хотя вроде правильно написал
Код:
GUISetState(@SW_HIDE,$Form2)


Код скрипта:
Код:
#include <sqlite.au3>
#include <array.au3>
#include <GUIConstants.au3>
#include <Encoding.au3>
Global $hQuery, $aR, $iRows, $iColumns, $aResult
Dim $left[2]
_SQLite_Startup()
_SQLite_Open('invent.db')
_SQLite_Exec(-1, "CREATE TABLE IF NOT EXISTS clients (name,podr,adress);")



$Form1 = GUICreate("База данных", 800, 300)
GUISetState(@SW_SHOW,$Form1)
$Button1 = GUICtrlCreateButton ("Добавить запись", 600,10,180,30)
$Button2 = GUICtrlCreateButton ("Выход",600,150,180,30)
$Button3 = GUICtrlCreateButton ("Просмотр данных",600,50,180,30)
$Button4 = GUICtrlCreateButton ("Редактирование данных",600,90,180,30)

$left_lv = GUICtrlCreateListView('Ф.И.О|подразделение|адрес', 10, 10, 550, 280)
$result = _SQLite_GetTable(-1, "SELECT name, adress FROM clients;", $left, $iRows, $iColumns)
For $i = 3 To UBound($left) - 1 Step 2
    GUICtrlCreateListViewItem($left[$i] & '|' & $left[$i+1], $left_lv)
Next


$Form2 = GUICreate("Ввод данных",300,350, 100,200,$Form1)
$Button5 = GUICtrlCreateButton ("Выход",120,300,70,20)
GUISetState(@SW_HIDE,$Form2)




GUISetState()

While 1
    $msg = GUIGetMsg()
	Switch $msg

		Case $Button1
		Push_Button1()

		Case $Button2
		Exit

		Case $Button5
		Exit


	EndSwitch
WEnd

Func Push_Button1()
$Form2 = GUICreate("Ввод данных",300,370, 100,200,$Form1)
$Button5 = GUICtrlCreateButton ("Выход",15,300,110,20)
GUISetState(@SW_SHOW,$Form2)


EndFunc
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
Redline,
Первый пример у Вас неудачный. :smile:
Код:
$Form2 = GUICreate("Ввод данных", 300, 350, 100, 200);, $Form1)
$Button5 = GUICtrlCreateButton("Выход", 120, 300, 70, 20)
$hGUIHandle = WinGetHandle("Ввод данных")
ConsoleWrite($Form2 & @TAB & $hGUIHandle & @LF)
GUISetState(@SW_HIDE, $hGUIHandle)
 

AZJIO

Меценат
Меценат
Сообщения
2,874
Репутация
1,194
Redline
Код:
$hGUIHandle = WinGetHandle($Form2)

Не понял смысла строчки. Переменная $Form2 это и есть дескриптор. Вроде не нужно из дескриптора получать дескриптор.
 

Redline

AutoIT Гуру
Сообщения
506
Репутация
375
AZJIO
Ага я совсем запутался, теперь понятно в чем была причина неправильной работы скрипта автора - лишняя строка с GUISetState() перед главным циклом, которая влияла на последнее созданное окно, удалю два предыдущих ответа.
 
Автор
ZeVSalt

ZeVSalt

Я не лупоглазый, это прищур такой !
Сообщения
136
Репутация
0
Итак продолжаем наступать на грабли:

Код:
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_Outfile=Invent.exe
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
#include <sqlite.au3>
#include <SQLite.dll.au3>
#include <array.au3>
#include <GUIConstants.au3>
#include <Encoding.au3>
Global $hQuery, $aR, $iRows, $iColumns, $aResult
Dim $left[9]
_SQLite_Startup()
_SQLite_Open('invent.db')
_SQLite_Exec(-1, "CREATE TABLE IF NOT EXISTS invent (invnum,zavnum,podr,product,descript,name,cost,budget,adress);")



$Form1 = GUICreate("База данных", 800, 300)
GUISetState(@SW_SHOW,$Form1)
$Button1 = GUICtrlCreateButton ("Добавить запись", 600,10,180,30)
$Button2 = GUICtrlCreateButton ("Выход",600,150,180,30)
$Button3 = GUICtrlCreateButton ("Просмотр данных",600,50,180,30)
$Button4 = GUICtrlCreateButton ("Редактирование данных",600,90,180,30)

$left_lv = GUICtrlCreateListView('Ф.И.О|подразделение|адрес|Инвентарный номер|Заводской номер', 10, 10, 550, 280)
$result = _SQLite_GetTable(-1, "SELECT invnum,zavnum,podr,product,descript,name,cost,budget,adress FROM invent;", $left, $iRows, $iColumns)
For $i = 10 To UBound($left) - 1 Step 1
    GUICtrlCreateListViewItem($left[$i] & '|' & $left[$i+1], $left_lv)
Next


$Form2 = GUICreate("Ввод данных",600,400, 100,200,$Form1)
$Button5 = GUICtrlCreateButton ("Закрыть",400,320,150,20)
$Button6 = GUICtrlCreateButton ("Запомнить",300,320,150,20)
$Button7 = GUICtrlCreateButton ("Импорт",200,320,150,20)
GUISetState(@SW_HIDE, -1)


While 1
    $msg = GUIGetMsg()
    Switch $msg

        Case $Button1
        Push_Button1()

        Case $Button2
        Exit

        Case $Button5
        $hGUIHandle = WinGetHandle($Form2)
		GUISetState(@SW_HIDE, $hGUIHandle)

        Case $Button6
        Push_Button6()


    EndSwitch
WEnd

Func Push_Button1()
$Form2 = GUICreate("Ввод данных",600,400,100,200,$Form1)
$Button5 = GUICtrlCreateButton ("Закрыть",400,330,150,25)
$Button6 = GUICtrlCreateButton ("Запомнить",210,330,150,25)
$Button7 = GUICtrlCreateButton ("Импорт",20,330,150,25)

$Label1 = GUICtrlCreateLabel ("Инвентарный номер*",10,10,200,20)
$inv_num = GUICtrlCreateInput ("Инвентарный номер",10,30,200,25)
GUICtrlSetColor(-1,0xff0000)    ; Red

$Label2 = GUICtrlCreateLabel ("Заводской номер",10,60,200,20)
$zav_num = GUICtrlCreateInput ("Заводской номер",10,80,200,25)

$Label3 = GUICtrlCreateLabel ("Подразделение*",10,110,200,20)
$podr = GUICtrlCreateInput ("Подразделение",10,130,200,25)
GUICtrlSetColor(-1,0xff0000)    ; Red

$Label4 = GUICtrlCreateLabel ("Год выпуска*",10,160,200,20)
$product = GUICtrlCreateInput ("Год выпуска",10,180,200,25)
GUICtrlSetColor(-1,0xff0000)    ; Red

$Label5 = GUICtrlCreateLabel ("Описание*",10,160,200,20)
$descript = GUICtrlCreateInput ("Описание",10,180,560,100)
GUICtrlSetColor(-1,0xff0000)    ; Red

$Label6 = GUICtrlCreateLabel ("Ф.И.О. пользователя*",250,10,200,20)
$name = GUICtrlCreateInput ("Ф.И.О. пользователя",250,30,200,25)
GUICtrlSetColor(-1,0xff0000)    ; Red

$Label7 = GUICtrlCreateLabel ("Стоимость*",250,60,200,20)
$cost = GUICtrlCreateInput ("Стоимость",250,80,200,25)
GUICtrlSetColor(-1,0xff0000)    ; Red

$Label8 = GUICtrlCreateLabel ("Бюджет*",250,110,200,20)
$budget = GUICtrlCreateInput ("Бюджет",250,130,200,25)
GUICtrlSetColor(-1,0xff0000)    ; Red

$Label9 = GUICtrlCreateLabel ("Адрес*",10,300,200,20)
$budget = GUICtrlCreateInput ("Адрес",60,295,510,25)
GUICtrlSetColor(-1,0xff0000)    ; Red


GUISetState(@SW_SHOW,$Form2)


EndFunc

Func Push_Button6()
	$Inv_num_Read = GUICtrlRead($inv_num)
	_SQLite_Exec (-1, "INSERT INTO invent VALUES ($Inv_num_Read);")

EndFunc


как правильно написать что бы при нажатии кнопки "Запомнить" результат поля вносился в базу?

Код:
Func Push_Button6()
	$Inv_num_Read = GUICtrlRead($inv_num)
	_SQLite_Exec (-1, "INSERT INTO invent VALUES ($Inv_num_Read);")
 

Medic84

Омега
Команда форума
Администратор
Сообщения
1,590
Репутация
341
Код:
Func Push_Button6()
    _SQLite_Exec (-1, "INSERT INTO invent VALUES (" & GUICtrlRead($inv_num) & ");")
 
Автор
ZeVSalt

ZeVSalt

Я не лупоглазый, это прищур такой !
Сообщения
136
Репутация
0
выдает ошибку:

Код:
D:\??? ?????????\AutoIt\Invent\Invent.au3 (107) : ==> Variable used without being declared.:
_SQLite_Exec (-1, "INSERT INTO invent VALUES (" & GUICtrlRead($inv_num) & ");")
_SQLite_Exec (-1, "INSERT INTO invent VALUES (" & GUICtrlRead(^ ERROR
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4,020
Репутация
626
ZeVSalt
у тебя переменная $inv_num объявляется только в функции Push_Button1, следовательно функция Push_Button6 не догадывается о ее существовании. поэтому есть два пути
1. возвращать $inv_num при вызове функции Push_Button1 и передавать ее в качестве параметра функции Push_Button6
2. объявить ее глобальной.
 
Автор
ZeVSalt

ZeVSalt

Я не лупоглазый, это прищур такой !
Сообщения
136
Репутация
0
Ввел глобальные переменные и строку сделал в функции кнопки:

Код:
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_Outfile=Invent.exe
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
#include <sqlite.au3>
#include <SQLite.dll.au3>
#include <array.au3>
#include <GUIConstants.au3>
#include <Encoding.au3>
Global $hQuery, $aR, $iRows, $iColumns, $aResult , $inv_num, $zav_num, $podr, $product, $descript, $name, $cost, $budget, $adress
Dim $left[9]
_SQLite_Startup()
_SQLite_Open('invent.db')
_SQLite_Exec(-1, "CREATE TABLE IF NOT EXISTS invent (invnum,zavnum,podr,product,descript,name,cost,budget,adress);")



$Form1 = GUICreate("База данных", 800, 300)
GUISetState(@SW_SHOW,$Form1)
$Button1 = GUICtrlCreateButton ("Добавить запись", 600,10,180,30)
$Button2 = GUICtrlCreateButton ("Выход",600,150,180,30)
$Button3 = GUICtrlCreateButton ("Просмотр данных",600,50,180,30)
$Button4 = GUICtrlCreateButton ("Редактирование данных",600,90,180,30)

$left_lv = GUICtrlCreateListView('Ф.И.О|подразделение|адрес|Инвентарный номер|Заводской номер', 10, 10, 550, 280)
$result = _SQLite_GetTable(-1, "SELECT invnum,zavnum,podr,product,descript,name,cost,budget,adress FROM invent;", $left, $iRows, $iColumns)
For $i = 10 To UBound($left) - 1 Step 1
    GUICtrlCreateListViewItem($left[$i] & '|' & $left[$i+1], $left_lv)
Next


$Form2 = GUICreate("Ввод данных",600,400, 100,200,$Form1)
$Button5 = GUICtrlCreateButton ("Закрыть",400,320,150,20)
$Button6 = GUICtrlCreateButton ("Запомнить",300,320,150,20)
$Button7 = GUICtrlCreateButton ("Импорт",200,320,150,20)
GUISetState(@SW_HIDE, -1)


While 1
    $msg = GUIGetMsg()
    Switch $msg

        Case $Button1
        Push_Button1()

        Case $Button2
        Exit

        Case $Button5
        $hGUIHandle = WinGetHandle($Form2)
		GUISetState(@SW_HIDE, $hGUIHandle)

        Case $Button6
        Push_Button6()


    EndSwitch
WEnd

Func Push_Button1()
$Form2 = GUICreate("Ввод данных",600,400,100,200,$Form1)
$Button5 = GUICtrlCreateButton ("Закрыть",400,330,150,25)
$Button6 = GUICtrlCreateButton ("Запомнить",210,330,150,25)
$Button7 = GUICtrlCreateButton ("Импорт",20,330,150,25)

$Label1 = GUICtrlCreateLabel ("Инвентарный номер*",10,10,200,20)
$inv_num = GUICtrlCreateInput ("Инвентарный номер",10,30,200,25)
GUICtrlSetColor(-1,0xff0000)    ; Red

$Label2 = GUICtrlCreateLabel ("Заводской номер",10,60,200,20)
$zav_num = GUICtrlCreateInput ("Заводской номер",10,80,200,25)

$Label3 = GUICtrlCreateLabel ("Подразделение*",10,110,200,20)
$podr = GUICtrlCreateInput ("Подразделение",10,130,200,25)
GUICtrlSetColor(-1,0xff0000)    ; Red

$Label4 = GUICtrlCreateLabel ("Год выпуска*",450,10,200,20)
$product = GUICtrlCreateDate ("Год выпуска",450,30,150,25)
GUICtrlSetColor(-1,0xff0000)    ; Red

$Label5 = GUICtrlCreateLabel ("Описание*",10,160,200,20)
$descript = GUICtrlCreateInput ("Описание",10,180,560,100)
GUICtrlSetColor(-1,0xff0000)    ; Red

$Label6 = GUICtrlCreateLabel ("Ф.И.О. пользователя*",230,10,200,20)
$name = GUICtrlCreateInput ("Ф.И.О. пользователя",230,30,200,25)
GUICtrlSetColor(-1,0xff0000)    ; Red

$Label7 = GUICtrlCreateLabel ("Стоимость*",230,60,200,20)
$cost = GUICtrlCreateInput ("Стоимость",230,80,200,25)
GUICtrlSetColor(-1,0xff0000)    ; Red

$Label8 = GUICtrlCreateLabel ("Бюджет*",230,110,200,20)
$budget = GUICtrlCreateInput ("Бюджет",230,130,200,25)
GUICtrlSetColor(-1,0xff0000)    ; Red

$Label9 = GUICtrlCreateLabel ("Адрес*",10,300,200,20)
$adress = GUICtrlCreateInput ("Адрес",60,295,510,25)
GUICtrlSetColor(-1,0xff0000)    ; Red


GUISetState(@SW_SHOW,$Form2)


EndFunc

Func Push_Button6()
    _SQLite_Exec (-1, "INSERT INTO invent VALUES (" & GUICtrlRead($inv_num) &'|'& GUICtrlRead($zav_num) &'|'& GUICtrlRead($podr) &'|'& GUICtrlRead($product) &'|'& GUICtrlRead($descript) &'|'& GUICtrlRead($name) &'|'& GUICtrlRead($cost) &'|'& GUICtrlRead($budget) &'|'& GUICtrlRead($adress) &  ");")
EndFunc


теперь ошибка:

Код:
!   SQLite.au3 Error
--> Function: _SQLite_Exec
--> Query:    INSERT INTO invent VALUES (Инвентарный номер|Заводской номер|Подразделение|11 сентября 2012 г.|Описание|Ф.И.О. пользователя|Стоимость|Бюджет|Адрес);
--> Error:    near "номер": syntax error


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

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4,020
Репутация
626
текст заключается в кавычки, как правило. и разделитель вводимых значений запятая, а не палочка.
 
Автор
ZeVSalt

ZeVSalt

Я не лупоглазый, это прищур такой !
Сообщения
136
Репутация
0
а как правильно поставить кавычки?

Код:
','& GUICtrlRead($product) &','


пробую по разному :'(

еще с запятыми стала выходить ошибка:

! SQLite.au3 Error
--> Function: _SQLite_Exec
--> Query: INSERT INTO invent VALUES (123,343,yyy,0,Описание,iii,Стоимость,Бюджет,Адрес);
--> Error: no such column: yyy

когда значение не число
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4,020
Репутация
626
во первых, лучше сразу давать тип при создании таблиц
Код:
_SQLite_Exec(-1, "CREATE TABLE IF NOT EXISTS invent (invnum integer unique on conflict replace,zavnum integer,podr integer,product text,descript text,name text,cost real,budget real,adress text);")

если я правильно понял назначения полей. потом, как я уже сказал, вводимые текстовые значения надо заключать в кавычки, а сами значения отделять запятой.
Код:
_SQLite_Exec (-1, "INSERT INTO invent VALUES (" & GUICtrlRead($inv_num) &","& GUICtrlRead($zav_num) &","& GUICtrlRead($podr) &",'"& GUICtrlRead($product) &"','"& GUICtrlRead($descript) &"','"& GUICtrlRead($name) &"',"& GUICtrlRead($cost) &","& GUICtrlRead($budget) &","& GUICtrlRead($adress) &  ");")



Добавлено:
Сообщение автоматически объединено:

а еще из ошибки выше непонятно, ты пытаешься вводить названия полей "номер чего-то, дата чего-то" и тд? возможно надо сделать сначала проверку, прежде чем вставлять. чтобы сначала набрать в Input что-нибудь, и только потом нажимать на кнопку добавления в базу. иначе добавится не то, что надо, или выдаст ошибку, если тип не тот.
 
Автор
ZeVSalt

ZeVSalt

Я не лупоглазый, это прищур такой !
Сообщения
136
Репутация
0
теперь так:
Код:
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_Outfile=Invent.exe
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
#include <sqlite.au3>
#include <SQLite.dll.au3>
#include <array.au3>
#include <GUIConstants.au3>
#include <Encoding.au3>
Global $hQuery, $aR, $iRows, $iColumns, $aResult , $inv_num, $zav_num, $podr, $product, $descript, $name, $cost, $budget, $adress
Dim $left[10]
_SQLite_Startup()
_SQLite_Open('invent.db')
_SQLite_Exec(-1, "CREATE TABLE IF NOT EXISTS invent (invnum text unique on conflict replace,zavnum text,podr text,product text,descript text,name text,cost real,budget text,adress text);")



$Form1 = GUICreate("База данных", 800, 300)
GUISetState(@SW_SHOW,$Form1)
$Button1 = GUICtrlCreateButton ("Добавить запись", 600,10,180,30)
$Button2 = GUICtrlCreateButton ("Выход",600,150,180,30)
$Button3 = GUICtrlCreateButton ("Просмотр данных",600,50,180,30)
$Button4 = GUICtrlCreateButton ("Редактирование данных",600,90,180,30)

$left_lv = GUICtrlCreateListView('Ф.И.О|подразделение|адрес|Инвентарный номер|Заводской номер', 10, 10, 550, 280)
$result = _SQLite_GetTable(-1, "SELECT invnum,zavnum,podr,product,descript,name,cost,budget,adress FROM invent;", $left, $iRows, $iColumns)
For $i = 10 To UBound($left) - 1 Step 1
    GUICtrlCreateListViewItem($left[$i] & ',' & $left[$i+1], $left_lv)
Next


$Form2 = GUICreate("Ввод данных",600,400, 100,200,$Form1)
$Button5 = GUICtrlCreateButton ("Закрыть",400,320,150,20)
$Button6 = GUICtrlCreateButton ("Запомнить",300,320,150,20)
$Button7 = GUICtrlCreateButton ("Импорт",200,320,150,20)
GUISetState(@SW_HIDE, -1)


While 1
    $msg = GUIGetMsg()
    Switch $msg

        Case $Button1
        Push_Button1()

        Case $Button2
        Exit

        Case $Button5
        $hGUIHandle = WinGetHandle($Form2)
		GUISetState(@SW_HIDE, $hGUIHandle)

        Case $Button6
        Push_Button6()


    EndSwitch
WEnd

Func Push_Button1()
$Form2 = GUICreate("Ввод данных",600,400,100,200,$Form1)
$Button5 = GUICtrlCreateButton ("Закрыть",400,330,150,25)
$Button6 = GUICtrlCreateButton ("Запомнить",210,330,150,25)
$Button7 = GUICtrlCreateButton ("Импорт",20,330,150,25)

$Label1 = GUICtrlCreateLabel ("Инвентарный номер*",10,10,200,20)
$inv_num = GUICtrlCreateInput ("Инвентарный номер",10,30,200,25)
GUICtrlSetColor(-1,0xff0000)    ; Red

$Label2 = GUICtrlCreateLabel ("Заводской номер",10,60,200,20)
$zav_num = GUICtrlCreateInput ("Заводской номер",10,80,200,25)

$Label3 = GUICtrlCreateLabel ("Подразделение*",10,110,200,20)
$podr = GUICtrlCreateInput ("Подразделение",10,130,200,25)
GUICtrlSetColor(-1,0xff0000)    ; Red

$Label4 = GUICtrlCreateLabel ("Год выпуска*",440,10,200,20)
$product = GUICtrlCreateDate ("Год выпуска",440,30,110,25)
GUICtrlSetColor(-1,0xff0000)    ; Red

$Label5 = GUICtrlCreateLabel ("Описание*",10,160,200,20)
$descript = GUICtrlCreateInput ("Описание",10,180,560,100)
GUICtrlSetColor(-1,0xff0000)    ; Red

$Label6 = GUICtrlCreateLabel ("Ф.И.О. пользователя*",230,10,200,20)
$name = GUICtrlCreateInput ("Ф.И.О. пользователя",230,30,200,25)
GUICtrlSetColor(-1,0xff0000)    ; Red

$Label7 = GUICtrlCreateLabel ("Стоимость*",230,60,200,20)
$cost = GUICtrlCreateInput ("Стоимость",230,80,200,25)
GUICtrlSetColor(-1,0xff0000)    ; Red

$Label8 = GUICtrlCreateLabel ("Бюджет*",230,110,200,20)
$budget = GUICtrlCreateInput ("Бюджет",230,130,200,25)
GUICtrlSetColor(-1,0xff0000)    ; Red

$Label9 = GUICtrlCreateLabel ("Адрес*",10,300,200,20)
$adress = GUICtrlCreateInput ("Адрес",60,295,510,25)
GUICtrlSetColor(-1,0xff0000)    ; Red


GUISetState(@SW_SHOW,$Form2)


EndFunc

Func Push_Button6()
	_SQLite_Exec (-1, "INSERT INTO invent VALUES ('" & GUICtrlRead($inv_num) &"','"& GUICtrlRead($zav_num) &"','"& GUICtrlRead($podr) &"','"& GUICtrlRead($product) &"','"& GUICtrlRead($descript) &"','"& GUICtrlRead($name) &"',"& GUICtrlRead($cost) &",'"& GUICtrlRead($budget) &"','"& GUICtrlRead($adress) &  "');")
EndFunc


грабли №3, если база данных пустая, все работает, после добавления значений и перезапуска, выходит следующая ошибка:

D:\??? ?????????\AutoIt\Invent\Invent.au3 (27) : ==> Array variable has incorrect number of subscripts or subscript dimension range exceeded.:
GUICtrlCreateListViewItem($left[$i] & ',' & $left[$i+1], $left_lv)
GUICtrlCreateListViewItem($left[$i] & ',' & ^ ERROR
->15:46:07 AutoIT3.exe ended.rc:1

Может еще имеет смысл ввести какой нибудь идентификатор записей?
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4,020
Репутация
626
ZeVSalt
у тебя все смешалось, люди, кони. разделитель для ListView - это палочка. для sqlite - запятая. если лень заглядывать в справку – тыкай на ссылки прямо на форуме, откроется русифицированная справка. и еще учись читать текст ошибки, он ведь для тебя написан. там же все написано – Array variable has incorrect number of subscripts or subscript dimension range exceeded, либо неверное количество измерений, либо по какому-то измерению превышен допустимый диапазон. а именно,
Код:
Dim $left[10]

тут ты создаешь массив с 10 элементами. у массива с 10 элементами элемент с максимальным значением 9. ты же пытаешься при первом же проходе цикла
Код:
For $i = 10 To UBound($left) - 1 Step 1
    GUICtrlCreateListViewItem($left[$i] & ',' & $left[$i+1], $left_lv)
Next

выдрать значение с элементом 10 и 11. и почему у тебя цикл перевернут? у тебя шаг 1, стало быть ты будешь идти в сторону возрастания. вобщем полнейшая каша. хотя в справке все подробно расписано. если ты собираешься каждую малейшую синтаксическую ошибку выкладывать на форум, я эту тему закрою
 
Верх