Вверх ↑
Этот топик читают: Гость
Ответов: 327
Рейтинг: 5
#16: 2014-09-27 19:35:54 ЛС | профиль | цитата
http://newbreath.ucoz.ru/talents.html воть вот такую хрень я леплю, на деле эти страшные сообщения это всего один символ ограничивающий клики а описание планирую загнать как маску. а не как везде делают отдельные строки
------------ Дoбавленo в 19.35:
описание придется просто подгрузить для всех что на экране, чтобы отображалось быстро
карма: 0

0
Ответов: 1161
Рейтинг: 160
#17: 2014-09-27 23:34:16 ЛС | профиль | цитата
А с использованием UseName=True почему нет варианта?
code_34352.txt
карма: 0

0
файлы: 1code_34352.txt [481B] [447]
Разработчик
Ответов: 26151
Рейтинг: 2127
#18: 2014-09-28 01:41:34 ЛС | профиль | цитата
LainX писал(а):
А с использованием UseName=True почему нет варианта?

Наверное потому, что у нас нет массива строк
карма: 22

0
Ответов: 824
Рейтинг: 138
#19: 2014-09-28 03:52:18 ЛС | профиль | цитата
Может так?
code_34356.txt
------------ Дoбавленo в 03.52:
Можно посмотреть в сторону Type
карма: 1

0
файлы: 1code_34356.txt [19.9KB] [1051]
Ответов: 1376
Рейтинг: 197
#20: 2014-09-28 09:16:16 ЛС | профиль | цитата
knoot0279 писал(а):
Неужели это единственный вариант?

Ещё вариант, чуток медленнее
code_34357.txt
карма: 1

0
файлы: 1code_34357.txt [19.6KB] [586]
Ответов: 16884
Рейтинг: 1239
#21: 2014-09-28 09:48:02 ЛС | профиль | цитата
Ещё вариант, чуток быстрее.
sashaoli,
code_34358.txt
Почему такой вариант:
1. При создании программы заполняется только один список в StrList.
2. Заполнение списка выбора(ключей) из списка ключ=ответ исключает ошибки.
3. Результат по индексу (FList.Items[Index]) отрабатывает намного быстрее любого поиска текста.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
файлы: 1code_34358.txt [14.8KB] [573]
Ответов: 9906
Рейтинг: 351
#22: 2014-09-28 11:21:56 ЛС | профиль | цитата
Что-то мне подсказывает, что ЭТО (в коде Tad-а) не очень-то и "время поиска"

Add(MainForm,1011045,567,168)
{
Width=698
Height=350
link(onCreate,6412464:doEnum,[])
}
Add(ListBox,16346332,742,182)
{
Left=5
Top=10
Width=330
Height=265
Point(String)
link(onClick,14675561:doStart,[])
}
Add(StrList,11799956,903,105)
{
Strings=#34:actArrangeCascade.Caption=Каскадом|50:actArrangeTileHoriz.Caption=Плиткой по горизонтали|47:actArrangeTileVert.Caption=Плиткой по вертикали|30:actArrangeTile.Caption=Плиткой|31:actAbout.Caption=О программе...|21:actExit.Caption=Выход|24:actClose.Caption=Закрыть|31:actCloseAll.Caption=Закрыть все|29:actHelp.Caption=Справка IcoFX|26:actTutorials.Caption=Уроки|22:actForum.Caption=Форум|43:actHomePage.Caption=Домашняя страница IcoFX|35:actBuy.Caption=Купить полную версию|42:actObjectPacks.Caption=Покупка изображений|34:actTip.Caption=Окно приветствия...|41:actUpdate.Caption=Проверить обновления...|35:actPreferences.Caption=Настройки...|53:actDeleteWorkspace.Caption=Удалить рабочую область...|38:actToolbar.Caption=Панель инструментов|53:actSaveWorkspace.Caption=Сохранить рабочую область...|46:actDownloadLanguage.Caption=Загрузить языки...|53:actLocalToolbar.Caption=Локальная панель инструментов|37:actStatusbar.Caption=Статусная строка|40:actDefaultWorkspace.Caption=По умолчанию|28:actPanelColors.Caption=Цвета|31:actPanelPalette.Caption=Палитра|30:actPanelSwatches.Caption=Набор|33:actPanelPreview.Caption=Навигатор|31:actPanelInfo.Caption=Информация|33:actPanelTools.Caption=Инструмeнты|27:actPanelLayers.Caption=Слои|37:actPanelHistogram.Caption=Гистограмма|31:actPanelHistory.Caption=История|35:actPanelGradients.Caption=Градиенты|29:actPanelBrushes.Caption=Кисти|51:actPanelToolProperties.Caption=Свойства инструмента|34:actPanelExplorer.Caption=Проводник|39:actShortcuts.Caption=Горячие клавиши...|34:actRegister.Caption=Регистрация...|34:actNewIcon.Caption=Новая иконка...|31:actNewIcon.Hint=Новая иконка...|40:actNewImage.Caption=Новое изображение...|37:actNewImage.Hint=Новое изображение...|36:actNewCursor.Caption=Новый курсор...|33:actNewCursor.Hint=Новый курсор...|21:actGrid.Caption=Сетка|34:actGrid.Hint=Показать/Скрыть сетку|26:actOpen.Caption=Открыть...|23:actOpen.Hint=Открыть...|25:actSave.Caption=Сохранить|22:actSave.Hint=Сохранить|34:actSaveAs.Caption=Сохранить как...|28:actCapture.Caption=Захват...|29:actExtract.Caption=Извлечь...|25:actClear.Caption=Очистить|41:actSelectLanguage.Caption=Выбрать язык...|24:actUndo.Caption=Отменить|21:actUndo.Hint=Отменить|25:actRedo.Caption=Повторить|22:actRedo.Hint=Повторить|25:actDelete.Caption=Удалить|23:actCut.Caption=Вырезать|20:actCut.Hint=Вырезать|26:actCopy.Caption=Копировать|23:actCopy.Hint=Копировать|25:actPaste.Caption=Вставить|22:actPaste.Hint=Вставить|50:actPasteNew.Caption=Вставить как новое изображение|45:actPasteLayer.Caption=Вставить как новый слой|30:actSelAll.Caption=Выделить все|37:actSelNone.Caption=Отменить выделение|44:actSelInvert.Caption=Инвертировать выделение|33:actSelFit.Caption=По размеру окна|34:actSelOrig.Caption=Исходный размер|38:actSelToFront.Caption=На передний план|35:actSelToBack.Caption=На задний план|37:actHue.Caption=Оттенок и насыщение...|27:actLevels.Caption=Уровни...|27:actCurves.Caption=Кривые...|38:actLast.Caption=Последний эффект (нет)|59:actBatchIcon.Caption=Пакетное создание иконок и курсоров...|54:actBatchImage.Caption=Пакетное создание изображений...|64:actBatchExtract.Caption=Пакетное извлечение иконок и курсоров...|49:actResEditIcl.Caption=Редактор ресурсов иконок...|27:actZoomIn.Caption=Увеличить|24:actZoomIn.Hint=Увеличить|28:actZoomOut.Caption=Уменьшить|25:actZoomOut.Hint=Уменьшить|34:actFitScreen.Caption=На весь экран|40:actActualPixels.Caption=Активные пиксели|33:actSideBar.Caption=Боковая панель|39:actAutoZoom.Caption=Автомасштабирование|41:actContrast.Caption=Яркость и контраст...|40:actColBalance.Caption=Цветовой баланс...|50:actCustomFilter.Caption=Пользовательский фильтр...|31:actEmbossColor.Caption=Тиснение|39:actEmbossLight.Caption=Светлое тиснение|34:actEmboss.Caption=Среднее тиснение|37:actEmbossDark.Caption=Темное тиснение|29:actAverage.Caption=Усреднение|42:actGaussBlur.Caption=Размытие по Гауссу...|34:actBevel.Caption=Фаска и рельеф...|24:actBlur.Caption=Размытие|35:actBlurSoft.Caption=Мягкое размытие|36:actBlurMore.Caption=Сильное размытие|41:actMotionBlur.Caption=Размытие в движении|27:actSharpen.Caption=Резкость|38:actSharpenLess.Caption=Слабая резкость|39:actSharpenMore.Caption=Сильная резкость|43:actSharpenDir.Caption=Направленная резкость|50:actFindEdgesVert.Caption=Найти края (по вертикали)|53:actFindEdgesHoriz.Caption=Найти края (по горизонтали)|38:actEnhanceEdges.Caption=Расширить края|38:actDetectEdges.Caption=Определить края|34:actEdgesStrong.Caption=Резкие края|32:actEdgesWeak.Caption=Мягкие края|25:actContour.Caption=Контур|32:actNoise.Caption=Добавить шум...|24:actGlow.Caption=Свечение|28:actWaggle.Caption=Раздвоение|23:actPattern.Caption=Узор|41:actPaintDark.Caption=Затемненное смещение|43:actPaintBright.Caption=Осветленное смещение|25:actShake.Caption=Дрожание|36:actShakeLess.Caption=Слабое дрожание|31:actPale.Caption=Сильная яркость|22:actScene.Caption=Сцена|35:actGrayscale.Caption=Оттенки серого|31:actInvert.Caption=Инвертировать|22:actRed.Caption=Красный|24:actGreen.Caption=Зеленый|21:actBlue.Caption=Синий|24:actYellow.Caption=Желтый|23:actCyan.Caption=Голубой|28:actMagenta.Caption=Пурпурный|40:actSwapRG.Caption=Замена Красный-Зеленый|38:actSwapRB.Caption=Замена Красный-Синий|38:actSwapGB.Caption=Замена Зеленый-Синий|38:actHotSpot.Caption=Активная область...|43:actTestCursor.Caption=Тестировать курсор...|32:actAuthor.Caption=Автор и Имя...|38:actFrameRate.Caption=Счётчик кадров...|42:actDuplicateFrame.Caption=Дублировать кадр|42:actFrameUp.Caption=Переместить кадр вперёд|43:actFrameDown.Caption=Переместить кадр назад|38:actFrameReverse.Caption=Обратить кадры|35:actDropShadow.Caption=Наложить тень|44:actNew.Caption=Добавить новое изображение...|41:actNew.Hint=Добавить новое изображение...|42:actDel.Caption=Удалить текущее изображение|39:actDel.Hint=Удалить текущее изображение|48:actDelMore.Caption=Удалить другие изображения...|51:actImportImage.Caption=Импортировать изображение...|48:actImportImage.Hint=Импортировать изображение...|37:actNext.Caption=Следующее изображение|38:actPrev.Caption=Предыдущее изображение|32:actDuplicate.Caption=Дублировать|64:actCreateWinIco.Caption=Создать Windows иконку из изображения...|61:actCreateWinIco.Hint=Создать Windows иконку из изображения...|66:actCreateMacIco.Caption=Создать Macintosh иконку из изображения...|63:actCreateMacIco.Hint=Создать Macintosh иконку из изображения...|53:actCreateCur.Caption=Создать курсор из изображения...|50:actCreateCur.Hint=Создать курсор из изображения...|37:actSnapshot.Caption=Сделать снимок...|33:actProperties.Caption=Свойства...|36:actOpacity.Caption=Непрозрачность...|28:actFade.Caption=Затухание...|25:actShadow.Caption=Тень...|36:actTransp.Caption=Прозрачный цвет...|37:actSize.Caption=Размер изображения...|38:actCanvasSize.Caption=Размер холста...|32:actRotate.Caption=Произвольно...|44:actRotateLeft.Caption=Повернуть влево на 90°|46:actRotateRight.Caption=Повернуть вправо на 90°|38:actRotate180.Caption=Повернуть на 180°|44:actFlipHoriz.Caption=Отразить по горизонтали|41:actFlipVert.Caption=Отразить по вертикали|42:act32Bits.Caption=Цветной + Альфа (32 бит)|34:act24Bits.Caption=Цветной (24 бит)|52:act8Bits.Caption=Оптимизированный 256 цветов (8 бит)|51:act4Bits.Caption=Оптимизированный 16 цветов (4 бит)|37:actWin4Bits.Caption=16 цветов (4 бит)|48:act1Bit.Caption=Оптимизированный 2 цвета (1 бит)|34:actWin1Bit.Caption=2 цвета (1 бит)|44:actNewIcl.Caption=Новая библиотека иконок...|46:actNewCul.Caption=Новая библиотека курсоров...|51:actResEditCul.Caption=Редактор ресурсов курсоров...|60:actAntialiasing.Caption=Использовать сглаживание изображений|57:actAntialiasing.Hint=Использовать сглаживание изображений|57:actSelTrans.Caption=Использовать прозрачность в выделении|54:actSelTrans.Hint=Использовать прозрачность в выделении|59:actFilterAlpha.Caption=Использовать фильтр для Альфа-канала|56:actFilterAlpha.Hint=Использовать фильтр для Альфа-канала|36:actExpand.Caption=Растянуть холст...|38:actLocalSidebar.Caption=Боковая панель|51:actLocalSidebar.Hint=Показать/Скрыть боковую панель|54:actIconCustomization.Caption=Настроить значок папки...|51:actIconCustomization.Hint=Настроить значок папки...|48:actSaveSelection.Caption=Сохранить выделенное...|48:actLoadSelection.Caption=Загрузить выделенное...|21:dlgOpen.Title=Открыть|27:dlgSave.Title=Сохранить как|24:dlgExtract.Title=Извлечь|35:dlgImport.Title=Открыть изображение|68:actCreateAndroidIco.Caption=Создать Android значок из изображения...|65:actCreateAndroidIco.Hint=Создать Android значок из изображения...|63:actCreateiPhoneIco.Caption=Создать iOS значок из изображения...|60:actCreateiPhoneIco.Hint=Создать iOS значок из изображения...|64:actAdjustAll.Caption=Использовать коррекцию для всех изображений|61:actAdjustAll.Hint=Использовать коррекцию для всех изображений|48:actUndoAll.Caption=Отменить на всех изображениях|49:actRedoAll.Caption=Повторить на всех изображениях|23:frmColors.Caption=Цвета|18:lblAlpha.Caption=A|59:btnDefault.Hint=Цвета переднего и заднего фона по умолчанию|54:btnSwitch.Hint=Поменять цвета переднего и заднего фона|52:btnTransparent.Hint=Сделать выбраный цвет прозрачным|21:GraySliders.Caption=K|18:HSBSliders.Item1=H|18:HSBSliders.Item2=S|18:HSBSliders.Item3=B|20:colBG.Hint=Цвет фона|24:colFG.Hint=Передний цвет|18:RGBSliders.Item1=R|18:RGBSliders.Item2=G|18:RGBSliders.Item3=B|34:actGraySlider.Caption=Шкала серого|31:actRGBSliders.Caption=RGB шкала|31:actHSBSliders.Caption=HSB шкала|44:actCopyHtml.Caption=Копировать цвет как HTML|68:actDefaultColors.Caption=Цвета переднего и заднего фона по умолчанию|63:actSwitchColors.Caption=Поменять цвета переднего и заднего фона|64:actFGTransparent.Caption=Сделать прозрачным цвет переднего плана|61:actBGTransparent.Caption=Сделать прозрачным цвет заднего фона|55:actTransparent.Caption=Сделать выбраный цвет прозрачным|
Point(doGetString)
Point(onGetString)
link(onGetString,11429807:doSplit,[])
}
Add(MultiStrData,11429807,959,112)
{
Char="="
link(onPart2,4374:doEvent1,[])
}
Add(Memo,16093692,1057,105)
{
Left=360
Top=10
Width=300
Height=265
Color=-16777201
Font=[Times New Roman,20,1,0,204]
Ctl3D=1
}
Add(Label,5988735,798,238)
{
Left=5
Top=285
Width=104
Height=17
}
Add(Label,12538618,952,238)
{
Left=360
Top=285
Width=148
Height=17
Caption=""
}
Add(TimeCounter,14675561,833,189)
{
Precision=1
link(onStart,11799956:doGetString,[(886,195)(886,139)])
link(onStop,6775377:doString,[(886,202)(886,244)])
}
Add(FormatStr,6775377,903,238)
{
DataCount=1
Mask="Время поиска: %1 микросекунд"
link(onFString,12538618:doText,[])
}
Add(ArrayEnum,6412464,630,182)
{
link(onItem,3779005:doSplit,[])
link(onEndEnum,7352721:doString,[(676,195)(676,244)])
link(Array,11799956:Array,[(636,166)(923,166)])
}
Add(MultiStrData,3779005,686,182)
{
Char="="
link(onPart1,16346332:doAdd,[])
}
Add(FormatStr,7352721,749,238)
{
DataCount=1
Mask="Всего %1 строк"
link(onFString,5988735:doText,[])
link(Str1,16346332:Count,[])
}
Add(Hub,4374,1008,119)
{
link(onEvent1,14675561:doStop,[(1033,125)(1033,97)(823,97)(823,202)])
link(onEvent2,16093692:doText,[])
}
Add(TimeCounter,8478251,833,189)
{
Precision=1
}
карма: 9

0
Гость
Ответов: 17029
Рейтинг: 0
#23: 2014-09-28 11:46:53 правка | ЛС | профиль | цитата


Редактировалось 4 раз(а), последний 2021-05-21 06:01:37
карма: 0

0
Ответов: 16884
Рейтинг: 1239
#24: 2014-09-28 11:59:20 ЛС | профиль | цитата
Что-то мне подсказывает, что ЭТО (в коде Galkov-а) тоже не очень-то и "время поиска"
code_34359.txt
Вот по этой схеме такие данные:
Индекс выбранной строки Время поиска - Схема Tad Время поиска - Схема sashaoli (остановка таймера тоже изменена)
0550
11714270
234301147

------------ Дoбавленo в 11.59:
95.69.225.191 писал(а):
например ключ будем вводить в ручную...
При современной грамотности - полный отстой.
Первый пример - вручную пишется вместе.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
файлы: 1code_34359.txt [14.6KB] [2736]
Ответов: 824
Рейтинг: 138
#25: 2014-09-28 12:13:05 ЛС | профиль | цитата
Ой! 95.69.225.191- это был я...
ИМХО, если "масив" очень "ну о-о-очень большой" - "тады" база данных..., а если "вчера и о-о-очень маленький" (где-то так до "тысщи") - то варианты сверху....
------------ Дoбавленo в 12.13:
[flood]
Tad писал(а):
вручную пишется вместе
Это смотря по чьим правилам, по моим, иногда - можно и раздельно [/flood]
карма: 1

0
Ответов: 9906
Рейтинг: 351
#26: 2014-09-28 13:14:14 ЛС | профиль | цитата
Про "вручную".

Tad, изложил мысль, которую можно обозначать как "предварительная индексация".
Ввел "вручную", проделал вышеуказанные действия - и работай себе дальше на крейсерской скорости. Не зависящей от объема данных.

В чем проблемы-то

------------ Дoбавленo в 13.14:
Tad писал(а):
тоже не очень-то и "время поиска"

Если ты хочешь исключить работу MultiStrData из "времени поиска" -- так СДЕЛАЙ ЭТО.
А пока не сделал, тебе это - не более, чем кажется.
Проблем-то - аж никаких:
Add(MainForm,1011045,434,119)
{
Width=698
Height=350
Position=1
link(onCreate,977845:doWork2,[])
}
Add(ListBox,16346332,700,175)
{
Left=5
Top=10
Width=330
Height=265
Point(String)
link(onClick,14675561:doStart,[])
}
Add(StrList,11799956,567,105)
{
Point(doLoad)
link(onChange,1924892:doEvent1,[])
}
Add(Memo,16093692,924,91)
{
Left=360
Top=10
Width=300
Height=265
Color=-16777201
Font=[Times New Roman,20,1,0,204]
Ctl3D=1
}
Add(Label,5988735,756,238)
{
Left=5
Top=285
Width=104
Height=17
}
Add(Label,12538618,875,189)
{
Left=360
Top=285
Width=148
Height=17
Caption=""
}
Add(TimeCounter,14675561,756,182)
{
Precision=1
link(onStart,1857313:doGetString,[(795,188)(795,132)])
link(onStop,6775377:doString,[])
}
Add(FormatStr,6775377,826,189)
{
DataCount=1
Mask="Время поиска: %1 микросекунд"
link(onFString,12538618:doText,[])
}
Add(ArrayEnum,6412464,581,175)
{
link(onItem,3779005:doSplit,[])
link(onEndEnum,7352721:doString,[(627,188)(627,244)])
link(Array,11799956:Array,[])
}
Add(MultiStrData,3779005,637,175)
{
Char="="
link(onPart1,16346332:doAdd,[])
link(onPart2,1857313:doAdd,[(676,188)(676,104)])
}
Add(FormatStr,7352721,707,238)
{
DataCount=1
Mask="Всего %1 строк"
link(onFString,5988735:doText,[])
link(Str1,16346332:Count,[])
}
Add(Hub,5782473,875,105)
{
link(onEvent1,14675561:doStop,[(900,111)(900,90)(746,90)(746,195)])
link(onEvent2,16093692:doText,[])
}
Add(StrList,1857313,826,98)
{
Point(doGetString)
Point(onGetString)
link(onGetString,5782473:doEvent1,[])
}
Add(ODialog,1857546,511,133)
{
FileName="T.txt"
link(onExecute,11799956:doLoad,[])
}
Add(Button,3241067,434,175)
{
Left=270
Top=280
Width=65
Caption="Другой"
link(onClick,977845:doWork3,[(487,181)])
}
Add(HubEx,977845,483,133)
{
link(onEvent,1857546:doExecute,[])
}
Add(Hub,1924892,623,105)
{
OutCount=3
link(onEvent1,1857313:doClear,[])
link(onEvent2,16346332:doClear,[(683,118)(683,188)])
link(onEvent3,6412464:doEnum,[(648,125)(648,153)(571,153)(571,181)])
}
((да вот: надоело мне уже 235 строк копировать - думаю, проблем не будет с взять их из ранних кодов))
Tad писал(а):
Вот по этой схеме такие данные:

Ты пытаешься доказать, что: лучшее средство от перхоти - гильотина.
Это понятно. И правильно.
Непонятно - кому ты это пытаешься доказать
По мне, так даже и время тратить на доказательство именно этого -- не кошерно как-то...
карма: 9

0
Ответов: 9906
Рейтинг: 351
#27: 2014-09-29 20:46:44 ЛС | профиль | цитата
Хм...

#pas
procedure THIStrList._work_doGetString;
begin
FString := FList.Items[ReadInteger(_Data, _data_IdxToSelect)];
FIndex := FList.IndexOf(FString);
_hi_CreateEvent(_Data, @_event_onGetString, FString);
end;
Вторая строка опошляет все быстродействие, за которое Tad справедливо переживал ...........
карма: 9

1
Голосовали:foksov
Ответов: 1376
Рейтинг: 197
#28: 2014-09-29 21:39:40 ЛС | профиль | цитата
Уже года полтора использую такое изменение, если нужна скорость, а в остальное время закомментированное
#pas
procedure THIStrList._work_doGetString;
begin
FIndex :=ReadInteger(_Data, _data_IdxToSelect);
FString := FList.Items[FIndex];
if FString = ' then FIndex := -1; //На всякий случай
//FString := FList.Items[ReadInteger(_Data, _data_IdxToSelect)];
//FIndex := FList.IndexOf(FString);
_hi_CreateEvent(_Data, @_event_onGetString, FString);
end;
может чего-то и неправильно сделал, но работает
карма: 1

0
Разработчик
Ответов: 26151
Рейтинг: 2127
#29: 2014-09-29 22:46:59 ЛС | профиль | цитата
Ну и что будем делать
Оставим как есть, или будем вносить предложенные исправления
карма: 22

0
Ответов: 16884
Рейтинг: 1239
#30: 2014-09-29 23:00:22 ЛС | профиль | цитата
Galkov писал(а):
Если ты хочешь исключить работу MultiStrData из "времени поиска" -- так СДЕЛАЙ ЭТО.
Что и было сделано в code_34359.txt раньше. (перед сравнительной таблицей)
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)