Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.08.2013, 18:16   #1
IvaniuS
Форумчанин
 
Аватар для IvaniuS
 
Регистрация: 16.04.2007
Сообщений: 225
По умолчанию Scroll+Tlistbox

D7 есть вот такой вот кодинг(тестовое):
Код:
procedure TForm1.lstlblsClick(Sender: TObject);
begin
  edt1.Top:=16+20*lstlbls.ItemIndex;
  maszn[oldidlst]:=edt1.Text;
  edt1.Text:='';
  edt1.Visible:=True;
end;
т.е. при нажатии на нужный мне эл. в боксе поверх становится эдит и ты как-будто заполняешь тот или инной элемент, НО как это и было ясно с самого начала если их будет больше чем помещаться в список и прокрутить хоть немного то уже едит не попадает в нужное поле....
Ну и главный вопрос: как узнать на сколько оно прокручено или как-то вычислить положение эдита.
IvaniuS вне форума Ответить с цитированием
Старый 01.08.2013, 18:20   #2
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,430
По умолчанию

Цитата:
Ну и главный вопрос: как узнать на сколько оно прокручено или как-то вычислить положение эдита.
Проще написать свой ListBox с возможностью редактирования
Человек_Борща вне форума Ответить с цитированием
Старый 01.08.2013, 18:28   #3
IvaniuS
Форумчанин
 
Аватар для IvaniuS
 
Регистрация: 16.04.2007
Сообщений: 225
По умолчанию

да наверное, даже получше будет т.к. у меня там могут быть разного рода данные и булевы и целые и дробные и др. посмотрим, но по поводу вопроса никто не знает еще вариантов, пока самый простой способ это заменить таблицей в 2 столбца с название-значение, но все-таки....
IvaniuS вне форума Ответить с цитированием
Старый 02.08.2013, 17:04   #4
IvaniuS
Форумчанин
 
Аватар для IvaniuS
 
Регистрация: 16.04.2007
Сообщений: 225
По умолчанию

Код:
listBox.Perform(LB_SETTOPINDEX, scrlbr1.Position,0);
если кому нужно, вдруг.
IvaniuS вне форума Ответить с цитированием
Старый 02.08.2013, 18:23   #5
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,430
По умолчанию

Цитата:
пока самый простой способ это заменить таблицей в 2 столбца с название-значение, но все-таки....
Та уже существует. TValueListEditor называется. Ещё со времен 6 делфи...
Человек_Борща вне форума Ответить с цитированием
Старый 06.08.2013, 11:05   #6
IvaniuS
Форумчанин
 
Аватар для IvaniuS
 
Регистрация: 16.04.2007
Сообщений: 225
По умолчанию

TValueListEditor - очень классная, универсальная, быстрая штука, НО вот столкнулся и решил уже проблему, но все-таки я не понимаю в чем загвоздка..
Код:
//lsttyps - TValueListEditor
var
  str:TStringList;
begin
  try
    str:=TStringList.Create;
    str.LoadFromFile(path+'\bases\koatuu.txt');
    lsttyps.Strings:=str;
  finally
    str.free;
  end;
выше работает, а ниже вот не работает
Код:
lsttyps.Strings.LoadFromFile(path+'\bases\koatuu.txt');
зависает и все - ноль реакциии, если дождаться - то OutOfMemory Exception - файл в 1.1мб....
IvaniuS вне форума Ответить с цитированием
Старый 06.08.2013, 12:11   #7
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,430
По умолчанию

Цитата:
но все-таки я не понимаю в чем загвоздка..
Принимаются данные в формате:
Параметр = Значение
Если этого нет, то будут баги
Человек_Борща вне форума Ответить с цитированием
Старый 07.08.2013, 11:05   #8
IvaniuS
Форумчанин
 
Аватар для IvaniuS
 
Регистрация: 16.04.2007
Сообщений: 225
По умолчанию

это я понимаю, там все верно и кодировка анси и = стоит и грузится другие файлы подобные, но меньше размером и т.д. все перепроверил, + ошибка что памяти не хватает, логично намекает....
IvaniuS вне форума Ответить с цитированием
Старый 07.08.2013, 11:39   #9
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Посмотри свойство Capacity
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 07.08.2013, 13:42   #10
northener
ПШП
Участник клуба
 
Регистрация: 15.07.2013
Сообщений: 1,894
По умолчанию

Цитата:
Сообщение от Человек_Борща Посмотреть сообщение
Принимаются данные в формате:
Параметр = Значение
Если этого нет, то будут баги
Метод LoadFromFile у TValueListEditor.Strings не перегружен. Так что загружать можно любой текстовый файл как и в обычный TStringList. Багов не будет. Но и смысла тоже. Можно даже и не текстовый. Но смысла будет еще меньше.

Последний раз редактировалось northener; 07.08.2013 в 13:47.
northener вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
TListBox hatsub Работа с сетью в Delphi 4 13.03.2011 13:40
Событие TListBox HTL Компоненты Delphi 2 28.01.2010 21:27
Перерисовка TlistBox DarkEN_ANGEL Компоненты Delphi 4 26.01.2010 23:04
TListBox Dr.Badnezz Компоненты Delphi 3 03.02.2009 23:15
Вопрос по TListBox Rifler Помощь студентам 2 17.11.2008 22:01