Форум » GUI » Примеры из Минигуи -ошибки, вопросы..... (продолжение) » Ответить

Примеры из Минигуи -ошибки, вопросы..... (продолжение)

Andrey: Всем привет. Взялся смотреть примеры из МиниГуи, так не все работают. Может кто подскажет что там "допилить" нужно ? А заодно может и исправить и добавить новые.... Очень красочный пример: \MiniGUI\SAMPLES\Advanced\AVI_Animation - не работает под Win7 (наверно AVI-шки нет в ресурсах) Предложение Григорию: Можно ли добавить еще один пример с отдельным AVI-файлом в ресурсах проекта и показом такого же бегунка ? Пример: \MiniGUI\SAMPLES\Advanced\DisplayMode - не работает под ХР и далее.... Пример: \MiniGUI\SAMPLES\Advanced\Tsb_filter - вылетает на ХР -------------------------------------------------------------------------------- Harbour MiniGUI Errorlog File Harbour MiniGUI Extended Edition 2.0.1 - 2011.09.21 -------------------------------------------------------------------------------- Date: 11/15/2011 Time: 22:13:24 Error BASE/1124 Argument error: LEFT Called from LEFT(0) Called from SCANSOFT(195) Called from MAIN(84) Пример: \MiniGUI\SAMPLES\BASIC\MsgEdit - не собирается... Z:\MiniGUI\SAMPLES\BASIC\MsgEdit>call ..\..\..\batch\compile.bat demo /L shell32 Harbour 3.1.0dev (Rev. 17042) Copyright (c) 1999-2011, http://harbour-project.org/ Compiling 'demo.prg'... Lines 20133, Functions/Procedures 30 Generating C source output to 'demo.c'... Done. Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland demo.c: Error E2141 demo.prg 993: Declaration syntax error *** 1 errors in Compile *** C compile error.

Ответов - 273, стр: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 All

Andrey: Haz пишет: т.к. в самой библе минизип нет установки нужной OEM кодировки нужно обеспечить выполнение архивирования в кодовой странице "RU866" для русского языка А есть функция определения русского языка в строке ? Хотя это не сложно сделать, но хочется посмотреть, как делают другие...

Haz: Andrey пишет: хочется посмотреть, как делают другие... Другим тоже хочется посмотреть как делают другие , тем более это не сложно сделать

Andrey: Haz пишет: Другим тоже хочется посмотреть как делают другие , тем более Вот мой вариант: FUNCTION IsRusChar(cStr) LOCAL lRet := .F., nI, cBukva FOR nI := 1 TO LEN(cStr) cBukva := SUBSTR(cStr,nI,1) IF ASC(cBukva) > 127 lRet := .T. EXIT ENDIF NEXT RETURN lRet

Andrey: Haz пишет: Андрей , имена файлов в ZIP-архиве хранятся в кодировке DOS, соответствующей языку локали. это СТАНДАРТ Спасибо БОЛЬШОЕ за разъяснения !

Haz: Andrey пишет: Вот мой вариант: тоже самое ( но нужен hbxpp ) [pre2] Func test( str) local c for each c in str if asc(c) < 127 exit end end return asc(c) < 127 [/pre2]

Dima: Haz пишет: тоже самое ( но нужен hbxpp ) Да похоже что не нужен уже , проверил работает и без него. Я про строку for each c in str

Andrey: А как при выводе в EDITBOX объекта Edit_Memo - показывать последнюю строку переменной ? Т.е. я всегда добавляю в переменную и хочу в окне EDITBOX видеть последнюю строку. cText := Form_Main.Edit_Memo.Value + CRLF .... cText += " .... -> FMEMO" + CRLF Form_Main.Edit_Memo.Value := cText Form_Main.Edit_Memo.Setfocus Исходник - https://cloud.mail.ru/public/Cp97/yM2KA9ba3

gfilatov2002: Andrey пишет: как при выводе в EDITBOX объекта Edit_Memo - показывать последнюю строку переменной ? Посмотри пример ниже [pre2]/* * MINIGUI - Harbour Win32 GUI library Demo * */ #include "minigui.ch" #define WM_VSCROLL 277 // 0x0115 #define SB_PAGEDOWN 3 #define SB_PAGEUP 2 #define SB_BOTTOM 7 Function Main local v := "" for i:=1 to 100 v += strzero(i,3) + CRLF next DEFINE WINDOW Form_1 ; AT 0,0 ; WIDTH 640 HEIGHT 480 ; TITLE 'Harbour MiniGUI Demo' ; ICON 'DEMO.ICO' ; MAIN ; FONT 'Arial' SIZE 10 DEFINE STATUSBAR STATUSITEM 'HMG Power Ready!' END STATUSBAR @ 30,10 EDITBOX Edit_1 ; WIDTH 410 ; HEIGHT 140 ; VALUE v ; TOOLTIP 'EditBox' ; NOHSCROLL // NOVSCROLL DEFINE BUTTON A ROW 210 COL 10 CAPTION 'PageDown' ACTION ( SendMessage ( GetControlHandle('Edit_1', 'Form_1') , WM_VSCROLL , SB_PAGEDOWN , 0 ) , Form_1.Edit_1.SetFocus ) END BUTTON DEFINE BUTTON B ROW 250 COL 10 CAPTION 'PageUp' ACTION ( SendMessage ( GetControlHandle('Edit_1', 'Form_1') , WM_VSCROLL , SB_PAGEUP , 0 ) , Form_1.Edit_1.SetFocus ) END BUTTON END WINDOW SendMessage ( GetControlHandle('Edit_1', 'Form_1') , WM_VSCROLL , SB_BOTTOM , 0 ) Form_1.Center() Form_1.Activate() Return Nil [/pre2]

Andrey: gfilatov2002 пишет: Посмотри пример ниже Спасибо ОГРОМНОЕ ! То что надо !

Andrey: Имею проблему с ресурсами.... На компе с Server Win2003 использую удалённый рабочий стол в сети. На главной форме моей программы располагаются кнопки с иконками 96х96 color - WinXP (т.е. полная палитра цвета). При старте иконки нормально показываются, но поработав некоторое время в программа, пропадают иконки в меню, даже в других окнах.... Т.е. программа работает а иконок и картинок нет.... С чем это связано ? Как исправить баг ? Работал с несколькими другими удалёнными рабочими столами, такого не было...

Haz: Andrey пишет: Т.е. программа работает а иконок и картинок нет... Это не относится к Minigui. Поищи в гугле , может кто решил. Если это утешит - то вот тут друзья по несчастью из 1С http://forum.infostart.ru/forum10/topic32848/

Andrey: Спасибо большое, Haz ! Я подозревал, что дело не в МиниГуи, просто не мог заказчику это обосновать... Под Win2008 и 2012 такого нет.

Andrey: Всем привет ! Почему при команде на кнопке: SetProperty( сForm, cObj, "Enabled", .F. ) одни иконки дают четкую серую картинку, а другие просто квадрат ? Я понимаю что это не МиниГуи виноват, просто нужно чтобы всегда была картинка ! Фон у этих иконок прозрачный !

Dima: Наверное фон разный у этих иконок или связано с прозрачностью.

Haz: Подниму сюда глюк ScrollBar в TsBrowse при RDDADS, флейм не все читают, а тут прочитав уже народ в курсе будет . Скажу сразу как победить не нашел, похоже с этим надо смириться. Описание глюка: При использовании SQL запросов содержащих сложный ORDER BY ( из двух и более значений ) в RDDADS нет способа возврата индекса сортировки ( логического порядкового номера записи). Когда результат такого запроса показываем в TSBrowse , то скроллбар при навигации по базе скачет вверх-вниз беспорядочно, Причина в том что скрол пытаясь получить значение для расчета позиции , получает физический номер записи , а не логический Кому интересно - тут пример https://yadi.sk/d/9wpBy1V2nrfWG Что в примере В примере создается тестовая база и смотрится в бровсе. В EditBox показан запрос , по которому ее видим. SELECT * FROM ScrollFuck /*ORDER BY FirstName, LastName*/ комменты в запросе игнорируются , т.е. выполнен только SELECT * FROM ScrollFuck В этом случае скроллбар адекватен и все ОК. Меняем запрос удаляя знаки коммента , получив SELECT * FROM ScrollFuck ORDER BY FirstName, LastName Нажимаем кнопку SQL и при навигации стрелками вверх-низ с клавы или колесом мыши , видим всю дурь скрола. PS. Перерыл весь исходник RDDADS по слогам - в нем нет способа получить логический номер. Выкурил хелп от ADS - аналогично. Короче бросил ) Если что. привинчу костыли на скрол в виде получения позиции из специально построенного хеш массива

Andrey: Спасибо за сообщение ! Будем знать.

Andrey: А как сделать, чтобы при 1-ом показе Tsbrowse показывалась пустая таблица ? А уже потом, после нажатия кнопки - показывались данные....

Haz: Выполнить первый запрос с условием которое вернет пустую таблицу. К примеру поле ID типа AutoInc и не может принимать значения < 0 тогда запрос SELECT * FROM ScrollFuck WHERE ID < 0 даст пусто в примере можно так cSql := "SELECT * FROM ScrollFuck /*ORDER BY FirstName, LastName*/" DOSQL('SF', cSql + " WHERE ID < 0 ")

Andrey: Haz пишет: Выполнить первый запрос с условием которое вернет пустую таблицу. Таблица то пустая, а в ней нет строк.... А я хочу чтобы была пустая таблица, с линиями... Юзеру будет легче понять - я уже показывал такой вариант. Юзера тормозят... Говорят а почему нет таблицы ?

Haz: Andrey пишет: А я хочу чтобы была пустая таблица, с линиями... Строки в таблице рисуются по записям. Какие строки на пустой базе ? Сделать можно что угодно 1. При первом показе пихать клон базы с пустыми полями 2. При первом показе делать аппенды в базу и показывать только их , потом тереть 3. При первом показе поверх бровса выводить разграфленный битмап, потом его прятать Только зачем ????



полная версия страницы