Вверх ↑
Этот топик читают: Гость
Ответов: 817
Рейтинг: 52
#1: 2009-01-21 16:26:59 ЛС | профиль | цитата
Приятного времени суток господа!

Задача:
Необходимо что бы в ListBox, при добавлении строки которая указывает на конкретный файл (например C:\folder\file.txt)
слева от этой строки устанавливалась иконка которую я заранее создал
Строк будет много. Строки которые оканчиваются на .txt должны цеплять одну иконку, если оканчиваются на .jpeg - другую и т.д.
После обновления компонента IconsManager решил попробовать реализовать это по новой
Вот мои пробы
code_11518.txt
Я совсем запутался, подскажите что не так?

Кстати, опять ругань пошла
Вот как он ругается:


Подготовка к сборке проекта...
Генерация кода целевого языка
Компоновка проекта...
Command line: dcc32.exe "C:\Program Files\HiAsm\Elements\delphi\code\Project1.dpr" "-UC:\Program Files\HiAsm\." -Q
Borland Delphi Version 12.0 Copyright (c) 1983,98 Inprise Corporation
C:\Program Files\HiAsm\Elements\delphi\code\Project1.dpr(182) Error: Undeclared identifier: '_work_doGetIcon'
C:\Program Files\HiAsm\Elements\delphi\code\Project1.dpr(183) Error: Undeclared identifier: '_work_doGetIcon'
Сборка завершена.
карма: 1

0
файлы: 1code_11518.txt [2.2KB] [179]
Разработчик
Ответов: 26305
Рейтинг: 2146
#2: 2009-01-21 17:07:15 ЛС | профиль | цитата
Мдя... А он там и не реализован. Видимо, преполагал, да не сделал. В чем проблема, сделаем
------------ Дoбавленo:

Добавлено

[svn]WorkIconsManager.pas[/svn]
карма: 22

0
Ответов: 817
Рейтинг: 52
#3: 2009-01-21 17:57:50 ЛС | профиль | цитата
Спасибо уже качаю

А можно подсказать как быть с моей задачай?
Уж очень ее хочется реализовать, но без постороней помощи не хватает умения
карма: 1

0
Разработчик
Ответов: 26305
Рейтинг: 2146
#4: 2009-01-22 11:09:55 ЛС | профиль | цитата
-= DriveR =-, вот так, при загрузке списка


Add(MainForm,1781694,42,140)
{
Width=429
Height=458
}
Add(ListBox,13227999,308,231)
{
Width=350
Height=323
Font=[Microsoft Sans Serif,8,0,0,204]
Ctl3D=1
FileName="ListSlideShow.lst"
DataType=1
SelectAdd=0
IndexManager="Index"
BoxDrawManager="ListBox"
IconsManager="ico"
Point(ValueArray)
Point(Index)
Point(doSelect)
Point(String)
Point(onMouseUp)
Point(Handle)
}
Add(BoxDrawManager,2890263,42,231)
{
Name="ListBox"
Gutter=1
StyleBack=1
AddSize=1
InversGrad=0
LightColor=16777215
DarkColor=15780518
ColorFrame=8388608
DarkClrGutt=15780518
LightClrBack=16777215
DarkClrBack=15780518
}
Add(IconsManager,10306314,84,231)
{
Name="ico"
ImgSize=24
Icons=['t'=[ZIP5E02000078DA63606004420909010610F06062601003D21A402C01C40640CCC8C002966B6064C0011AC088A1A1014281204808481C38700028F21F8C18FEFF87502008120212ABF08105486C06AEC1C95E000B0390180C70A18A530018863800007D7BB2F3],'b'=[ZIP5E02000078DA63606004420909010610F06062601003D21A402C01C40640CCC8C002966B6064C0011AC088A1A1014281204808481C38700028F21F8C18FEFF87502008120212AB70022E047301CC1E6436173A1BA2963C362E3391ED85A926870D3311CE865A0E17C605188638000049E89147],'g'=[ZIP5E02000078DAD54F310E80200C3C8C139393E1098E3EC367F194CE7D053FC3B69880264D74F4DA6B2F4728050812292D501C13B04ADF8449B80B03663BCB010EB225726E4D432D29A51471AA256A6D4D432D29EC82C8469BBE9E89836EBE3934E88F155D93A3398EF3F9B56EB7223F76A6DBFEFD5B0EF0739C871A9C91]]
}
Add(FilePart,8303095,392,364)
{
link(onExt,11377787:doModify,[])
}
Add(Case,2698174,497,378)
{
Value=String(TXT)
DataOnTrue=Integer(0)
link(onNextCase,15314851:doCase,[])
link(onTrue,9033694:doWork2,[(544,391)(544,405)])
}
Add(Case,15314851,560,378)
{
Value=String(BMP)
DataOnTrue=Integer(1)
link(onNextCase,1447000:doCase,[])
link(onTrue,9033694:doWork1,[(606,391)])
}
Add(IndexManager,15351906,700,189)
{
Name="Index"
Index=[]
}
Add(Hub,1286859,105,189)
{
OutCount=3
link(onEvent1,15351906:doClear,[])
link(onEvent2,13227999:doClear,[(256,202)(256,244)])
link(onEvent3,2791411:doEnum,[(161,209)(161,363)])
}
Add(Case,1447000,623,378)
{
Value=String(JPG)
DataOnTrue=Integer(2)
link(onTrue,9377594:doWork2,[])
}
Add(StrCase,11377787,441,378)
{
Type=1
link(onModify,2698174:doCase,[])
}
Add(ArrayRW,15939757,700,371)
{
link(Array,15351906:Indexes,[])
}
Add(HubEx,9377594,672,378)
{
link(onEvent,15939757:doAdd,[])
}
Add(HubEx,9033694,602,392)
{
link(onEvent,9377594:doWork3,[(676,405)])
}
Add(WinTools,5463488,350,399)
{
Point(doRedraw)
link(Handle,13227999:Handle,[])
}
Add(StrList,9484418,189,259)
{
Strings=#19:c:/folder/image.bmp|19:c:/folder/image.BMP|19:c:/folder/image.txt|19:c:/folder/image.TXT|19:c:/folder/image.jpg|19:c:/folder/image.JPG|
}
Add(ArrayEnum,2791411,203,357)
{
link(onItem,15961716:doEvent1,[])
link(onEndEnum,5463488:doRedraw,[(248,370)(248,433)])
link(Array,9484418:Array,[])
}
Add(ArrayRW,7709784,322,343)
{
link(Array,13227999:Array,[])
}
Add(Button,5472268,42,189)
{
Left=145
Top=340
Caption="Load"
link(onClick,1286859:doEvent1,[])
}
Add(Hub,15961716,273,357)
{
link(onEvent1,7709784:doAdd,[])
link(onEvent2,8303095:doPart,[])
}


Предупреждение! Требуется обновление IndexManager, а то у него баг был при очистке пустого списка

[svn]IndexManager.pas[/svn]
карма: 22

0
Ответов: 817
Рейтинг: 52
#5: 2009-01-22 13:50:59 ЛС | профиль | цитата
nesco,
ГОЛОВА
Спасибо большущее, ща попробую к своей программе прикрутить
карма: 1

0
Разработчик
Ответов: 26305
Рейтинг: 2146
#6: 2009-01-22 14:52:07 ЛС | профиль | цитата
На будущее. WorkIconsManager используется для управления списком иконок, но если он не меняется, то WorkIconsManager не нужен
карма: 22

0
6
Сообщение
...
Прикрепленные файлы
(файлы не залиты)