Skip to forum content
My Visual Database
A Simple Solution for Creating Databases
You are not logged in. Please login or register.
Active topics Unanswered topics
Search options (Page 1 of 8)
Здравствуйте Дмитрий!!!
Будьте так добры подскажите???
var
LISTL,T : String;
begin
c := LIST.Count- 1; //...тут выдаёт ошибку???
for i := 0 to c do
begin
T:=LISTL[i];
...........................................
...........................................
подскажите как правильно записать???
DriveSoft wrote:На сколько я помню вы пользователь пиратской версии программы, к сожалению я не могу оказать вам техническую поддержку в полной мере.
Здравствуйте Дмитрий!!!
Я с Уважением отношусь к Вашим трудам...и ценю Ваше затраченное время в мгновенной тех.-поддержки "форумчаном"!!!
Как говорится <<ВИНОВАТ-ИСПРАВЛЮСЬ->> в ближайшее время!!!
Исходя из выше сказанного мною, прошу разрешить мне участвовать в тестировании 3.0 Альфа
-Возможно ли запретить: "добавить" или "редактировать" запись из нового грида в нужной колонки?
Любой Ваш ответ приму "С Уважением и Благодарностью" ...........Роман!!!
Доброго времени суток ВСЕМ!!!
Дмитрий...возможно ли осуществить такую идею с менюшками???
Думаю интересно было всем...
Суть вопроса выложил в рисунке...
С Уважением и Благодарностью Роман!!!
Дмитрий взгляните пост №7...???
Дмитрий огромное СПАСИБО Вам за поддержку!!!
не бросайте на пол-пути...("я начал городить огород")
procedure Form1_Button2_OnClick (Sender: string; var Cancel: boolean);
var
OpenDialog: TOpenDialog;
HTML : TStringList;
SourceVerNumber : String; //Исходный код страницы для поиска номера версий
PosVerNumber1 : Integer; //Положение начало тега перед номером версии
PosVerNumber2 : Integer; //Положение начала метки после номера версии
i,c: integer;
s: string;
begin
OpenDialog := TOpenDialog.Create(Form1);
if OpenDialog.Execute then
begin
HTML := TStringList.Create;
HTML.LoadFromFile(OpenDialog.FileName);
Form1.Memo1.Text:= (HTML.Text);
c := Form1.Memo1.Lines.Count-1;
for i := 0 to c do
begin
s:= Form1.Memo1.Lines[i]; // в переменной s поочередно будет попадать каждая строка,
//====================== ОТСЮДА У МЕНЯ ТЁМНЫЙ ЛЕС ==============================================================
if s[0] <> '' then //SourceVerNumber[0] := //''''+ ReplaceStr(s[0], '''', '''''') + ''''
//else s[0] := 'NULL';
{1} SourceVerNumber := (s);
{2} PosVerNumber1 := Pos('right><td>',SourceVerNumber);
{3} Delete (SourceVerNumber,1,PosVerNumber1-1+Length('right><td>'));
{4} PosVerNumber2 := Pos('</td>',SourceVerNumber);
{5} Delete (SourceVerNumber,PosVernumber2,1000000);
{6} SourceVerNumber := Trim(SourceVernumber);
{7} //Form1.Memo2.Text := SourceVerNumber;
s[0] :=SourceVerNumber;
// else s[0] := 'NULL';
SQLExecute ('INSERT INTO base (lastname) VALUES ('+ SourceVerNumber[0] +');');
end;
end;
OpenDialog.Free;
end;
помогите откорректировать мой "чудо скрипт" ПОЖАЛУЙСТА...
С Уважением и Благодарностью Роман!!!
DriveSoft wrote:Роман
Необходимо найти все значения в тексте которые расположены между right><td> и </td> ?
Приведите пожалуйста фрагмент текстового содердимого файла, в котором необходимо найти эти значения.
Дмитрий хотел пойти по этапно...но боюсь заблудить Вас...и отделить себя до конечного результата...
=============================================================================================
Конечная цель заполнить:
таблицу "ААА"
с полем "Ticket"(текст)..."Open Time"(дата)..."id_Type"(словарь)..."Size"(вещ.число)..."Item"..."Price"..."S_L"...
"T_P"..."Close Time"..."Price"..."Commission"..."Taxes"..."Swap"..."Profit"
============================================================================================
кусочек исходного кода:
(1 строчка)<tr bgcolor=#E0E0E0 align=right><td>[b]1753736490[/b]</td><td nowrap>[b]2016.04.04 09:43:39[/b]</td><td>[b]sell[/b]</td><td class=mspt>[b]0.08[/b]</td><td>[b]eurusd[/b]</td><td style="mso-number-format:0\.0000;">[b]1.1384[/b]</td><td style="mso-number-format:0\.0000;">[b]1.1407[/b]</td><td style="mso-number-format:0\.0000;">[b]1.1318[/b]</td><td class=msdate nowrap>[b]2016.04.06 11:33:07[/b]</td><td style="mso-number-format:0\.0000;">[b]1.1348[/b]</td><td class=mspt>[b]0.00[/b]</td><td class=mspt>[b]0.00[/b]</td><td class=mspt>[b]0.34[/b]</td><td class=mspt>[b]28.80[/b]</td></tr>
(2 строчка)<tr align=right><td>[b]1753980937[/b] </td><td nowrap>[b]2016.04.06 11:26:35[/b] </td><td>[b]buy[/b]</td><td class=mspt>[b]4.00[/b] </td><td>[b]eurusd[/b] </td><td style="mso-number-format:0\.0000;">[b]1.1342[/b] </td><td style="mso-number-format:0\.0000;">[b]1.1343[/b] </td><td style="mso-number-format:0\.0000;">[b]1.1451[/b] </td><td class=msdate nowrap>[b]2016.04.06 23:32:09[/b] </td><td style="mso-number-format:0\.0000;">[b]1.1395[/b] </td><td class=mspt>[b]0.00[/b] </td><td class=mspt>[b]0.00[/b] </td><td class=mspt>[b]0.00[/b] </td><td class=mspt>[b]2 120.00[/b] </td></tr>
(3 строчка)<tr bgcolor=#E0E0E0 align=right><td>[b]1754057548[/b]</td><td nowrap>[b]2016.04.06 22:13:23[/b]</td><td>[b]sell[/b]</td><td class=mspt>[b]10.00[/b]</td><td>[b]eurusd[/b]</td><td style="mso-number-format:0\.0000;">[b]1.1404[/b]</td><td style="mso-number-format:0\.0000;">[b]1.1403[/b]</td><td style="mso-number-format:0\.0000;">[b]1.1310[/b]</td><td class=msdate nowrap>[b]2016.04.07 02:22:11[/b]</td><td style="mso-number-format:0\.0000;">[b]1.1399[/b]</td><td class=mspt>[b]0.00[/b]</td><td class=mspt>[b]0.00[/b]</td><td class=mspt>[b]66.00[/b]</td><td class=mspt>[b]500.00[/b]</td></tr>
исходник HTML прилагается...прошу прощения жирным хотел выделить нужные значения!
Дмитрий...СПАСИБО...это РАБОТАЕТ!!!
следующий этап..........
Загрузив в Memo1 (исходный код)...ищем значения, которые равны требованию...вставляем вMemo2
procedure Form1_Button2_OnClick (Sender: string; var Cancel: boolean);
var
OpenDialog: TOpenDialog;
SourceVerNumber : String; //Исходный код страницы для поиска номера версий
PosVerNumber1 : Integer; //Положение начало тега перед номером версии
PosVerNumber2 : Integer; //Положение начала метки после номера версии
begin
OpenDialog := TOpenDialog.Create(Form1);
if OpenDialog.Execute then
Form1.Memo1.Lines.LoadFromFile(OpenDialog.FileName);
begin
{1} SourceVerNumber := Form1.Memo1.Text;
{2} PosVerNumber1 := Pos('right><td>',SourceVerNumber);
{3} Delete (SourceVerNumber,1,PosVerNumber1-1+Length('right><td>'));
{4} PosVerNumber2 := Pos('</td>',SourceVerNumber);
{5} Delete (SourceVerNumber,PosVernumber2,1000000);
{6} SourceVerNumber := Trim(SourceVernumber);
{7} Form1.Memo2.Text := SourceVerNumber;
end;
OpenDialog.Free;
end;
ПРОБЛЕМА в том, что в Memo2 попадает только одно значение(самое первое)...,
а в исходном коде их много...
я понимаю...надо прописать переменные...но методом "народного-тыка" у меня не получилось!
Дмитрий помогите дописать скрипт, что бы в Memo2 попали все значения
найденные в исходном коде?????????????????????????????????????????????????????????
С Уважением и Благодарностью Роман!!!
Друзья всем привет!!!
Попытался самостоятельно разобраться с функция s := HTTPGet('url страницы');,
но как говориться не хватает знаний...
=====================================================================================
УМЫСЕЛ конечного результата:
по клику Button1.....
открываем OpenDialog...выбрав документ...импортируем его в:
ТАБЛИЦУ "ААА" с полем "Ticket"(текст), "Open_Time"(дата/время), "id_Type"(словарь), "Size"(вещ.число)
P.S. документ прилагается...
======================================================================================
получить готовый результат...был бы конечно подарком судьбы (на форуме всего один пример
у mathmathou..."http://myvisualdatabase.com/forum/viewtopic.php?id=1851",
но как я понимаю не всё так просто и быстро...
ИСХОДЯ ИЗ ЭТОГО ПРОШУ ПОМОЩИ...как минимум:
вытащить исходный код документа в Memo1...
procedure Form1_Button1_OnClick (Sender: string; var Cancel: boolean);
var
OpenDialog: TOpenDialog;
s,n :string;
begin
OpenDialog := TOpenDialog.Create(Form1);
if OpenDialog.Execute then
begin
n:= OpenDialog.FileName; //узнать адресс папки
s :=HTTPGet(n);
Form1.Memo1.Text:= (s);
end;
end;
Проблема в том, что файл только открывается Yandex Browser, а находиться может на диске "С", в папке MVD или на флешке...
т.е.подключения интернета нет...вобщем выдаёт ошибку: "Unknown Protocol"
Подскажите где ошибка в скрипте????????????????????????????????????
С Уважением и Благодарностью Роман!!!
Друзья.....
у кого нибудь есть проект-пример на ПОСТ №17 или ПОСТ №18???
С Уважением и Благодарностью Роман!!!
Ребята мой случай безнадёжен???
пост № 51
Всем привет!!!
iacovlogicaВам отдельное огромное спасибо!!!
Вы на протяжении моей проблемки стараетесь помочь!!!
Друзья помогите заполнить вычисл.поле???(что бы подсчитать: сумму id_CCC за дату)
------------таблица "ААА"--------------------------------------------------
id_CCC | data_A | profit | (вычислительное поле)
----------------------------------------------------------------------------------
111 | 01.01.2016 | 10 | 30
111 | 01.01.2016 | 20 | 30
222 | 01.01.2016 | 5 | 5
111 | 02.01.2016 | 7 | 7
222 | 02.01.2016 | 6 | 17
222 | 02.01.2016 | 11 | 17
333 | 03.01.2016 | 50 | 50
С Уважением и Благодарностью Роман!!!
тест-проект прилагается...
Доброго времени суток!!!
В первую очередь хочу выразить огромную благодарность форумчаном,
которые в меру своих знаний подсказывают или предлагают свой способ
решения той или иной возникшей проблемки...
Это действительно круто ощущать поддержку не только со стороны Дмитрия,
но и со стороны таких же пользователей MVD!!!
(Дмитрий возможно было бы здорово, если бы мы могли делать
респект-благодарности за оказанную помощь форумчаном!!!
Факт на лицо + вам побольше "свободного" времени на продвижения MVD!!!)
==================================================================
О...много-уважаемый iacovlogica огромное Вам СПАСИБО!!!
Вы действительно меня правильно поняли + Ваше решение задачи
помогло мне!!!
==================================================================
А теперь то, за чем мы здесь собрались.................................................
имею вычислительное поле, где запись:
(SELECT COUNT(*) FROM AAA ln WHERE ln.data_A = AAA.data_A AND id_CCC = CCC.id)
Это работает !!!ОК!!!
Проблема:
Как только меняю
(SELECT TOTAL(AAA.profit) FROM AAA ln WHERE ln.data_A = AAA.data_A AND id_CCC = CCC.id)
1.) данные из таблицы ААА отображают в TableGrid1, только одна строчка!!!
хотя используя "DateTimePicker1" и "ComboBox1" при поиске считает правильно,
но опять же в TableGrid1 отображается только одна строчка!!!
ВОПРОС:
Друзья подскажите, что надо исправить в вычислительном поле...
чтобы отображались все записи из таблицы ААА как положено, а не одна строчка???
Доброго времени суток!!!
1.)
DriveSoft
попробуйте так
(SELECT TOTAL(AAA.profit) FROM AAA WHERE AAA.id_CCC=BBB.id_CCC AND BBB.data_В=AAA.data_A)
Дмитрий при таком запросе в вычислительном поле получаю все "нули"...
т.е. получается моё поле не видит условие "BBB.data_В=AAA.data_A"
как ещё можно написать,что бы условие с датой осталось такое же???
ИСХОДНИК ПОСТ№40
2.)
(SELECT TOTAL(AAA.profit) FROM AAA WHERE ?????????????????????)
это вычислительное поле
Вопрос: что надо дописать чтоб получить сумму за дату???
------------таблица "ААА"--------------------------------------------------
id_CCC | data_A | profit | (вычислительное поле)
----------------------------------------------------------------------------------
111 | 01.01.2016 | 10 | 35
111 | 01.01.2016 | 20 | 35
222 | 01.01.2016 | 5 | 35
111 | 02.01.2016 | 50 | 50
С Уважением и Благодарностью Роман!!!
Огромное Вам спасибо iacovlogica!!!
Но мне хотелось это сделать через вычислительное поле!!!
DriveSoft
попробуйте так
(SELECT TOTAL(AAA.profit) FROM AAA WHERE AAA.id_CCC=BBB.id_CCC AND BBB.data_В=AAA.data_A)
Дмитрий при таком запросе в вычислительном поле получаю все "нули"...
изменял "AND" на "OR", тогда считает общею сумму для id_CCC в таблице "ВВВ" т.е. получается
моё поле не видит условие "BBB.data_В=AAA.data_A"
как ещё можно написать,что бы условие осталось такое же???
(SELECT TOTAL(AAA.profit) FROM AAA WHERE AAA.id_CCC=BBB.id_CCC AND BBB.data_В=AAA.data_A)
ИСХОДНИК ПОСТ№40
Дмитрий взгляните пожалуйста пост №40????
Доброго времени суток!!!
Проблема состоит в следующем:
с формы делаю запись в две таблицы....с проверкой на дубликат в таблица BBB, что имею:
------------таблица "ААА"------------ ------------таблица "ВВВ"-------------
id_CCC | data_A | profit id_CCC | data_В | profits (вычислительное поле)
------------------------------------------ --------------------------------------------
111 | 01.01.2016 | 10 111 | 01.01.2016 | 30 (хотелось бы так)
111 | 01.01.2016 | 20 222 | 01.01.2016 | 5 (хотелось бы так)
222 | 01.01.2016 | 5 111 | 02.01.2016 | 50 (хотелось бы так)
111 | 02.01.2016 | 50
=============================================================================
P./S. заполнил вычислительное поле...оно считает общею сумму для id_CCC в таблице "ВВВ"
(SELECT TOTAL(AAA.profit) FROM AAA WHERE AAA.id_CCC=CCC.id)
ВОПРОС:
Что надо дописать в вычислительное поле,что бы оно считало
общею сумму у "data_A" с такой же датой "data_В" для id_CCC в таблице "ВВВ"...
С Уважением и Благодарностью Роман!!!
Доброго времени суток!!!
Дмитрий..., а у Вас нету пример - проекта...на пост №2...???
Ура!!!! заработало!!!
Благодарю Вас Xexrby Tdutybq!!!
Приветствую Xexrby Tdutyb !!!
Благодарю за внимание..., НО....
ваш скрипт делает DateTimePicker1 не видимый-видимый,
А надо !!!!!!!!!!!!!!!!!!
при клике на Button1 открыть, показать встроенный календарь DateTimePicker???
Как можно при клике на Button1 открыть и показать встроенный календарь DateTimePicker???
Доброго времени суток!!!
в своём SQL запросе по клику на битон получаю результат...из таблицы!!!
SELECT DISTINCT Centre.score,
strftime('%d.%m.%Y',base.dateone) as dateone,
TOTAL(profitss)
FROM base
LEFT OUTER JOIN Centre ON Centre.id=base.id_Centre
WHERE
(CASE WHEN {ComboBox1}=-1 THEN 1=1 ELSE Centre.id={ComboBox1} END)
GROUP BY base.dateone, base.id_Centre
Это работает!!! ОК!!!
ВОПРОС:
1.) Что и где надо дописать, что б считало в гриде в первой колонке строчки 1,2,3,4,5...и.т.(конечного результата)
2.) свой SQL запросе по клику на битон получаю результат...из таблицы,
а возможно такой же результат получить из Form1.TableGrid1-он отображает данные из этой же таблицы???
(P./S. если я правильно понимаю надо в выше указанный SQL запрос вставить куда-то " Form1.TableGrid1" и указать клетки TableGrid1
или такой результат из грида получить нельзя???)
Доброго времени суток!!!
Дмитрий ниже предоставлен ваш скрипт...
он удаляет выделенные строчки из грида(т.е. из таблицы)
procedure Form1_GridEmployees_OnCellClick (Sender: string; ACol, ARow: Integer);
begin
if ACol = 0 then
if Form1.GridEmployees.Cell[ACol,ARow].Color = clWindow then Form1.GridEmployees.Cell[ACol,ARow].Color := clRed
else Form1.GridEmployees.Cell[ACol,ARow].Color := clWindow;
end;
procedure Form1_Button5_OnClick (Sender: string; var Cancel: boolean);
var
i,c: integer;
iColumn: integer;
begin
iColumn := Form1.GridEmployees.Columns.Count-1; // в последнем столбце хранится идентификатор записи (последний столбец скрыт)
c := Form1.GridEmployees.RowCount - 1; // число записей в таблице сетки
for i :=0 to c do
if Form1.GridEmployees.Cell[0, i].Color = clRed then // если запись выбрана
SQLExecute('DELETE FROM employees WHERE id = ' + Form1.GridEmployees.Cells[iColumn, i]); //SQL-запрос для выбранной записи
Form1.GridEmployees.dbUpdate;
end;
Вопрос:
есть возможность не удалять выбранные строчки из грида, а просто не показывать(скрыть их)
С Уважением и Благодарностью Роман!!!
Ок!!!...вразумил...
может нам Дмитрий на форуме, что то подобное включит...???
Posts found: 1 to 25 of 199