Страница 1 из 1
		
			
				Вопрос про TOpenDialog
				
Добавлено: 
30.01.2024 16:57:22 ZWolol
				Хотел использовать TOpenDialog.
Указал ofAllowMultiSelect, все прекрасно работает.
Все выбранные файлы появляются в списке но, после нажатия Открыть, порядок выбранных файлов меняется!!!
Я убрал все другие опции и даже добавил ofDontAddToRecent, ни чего не помогает.
Как мне выбрать файлы в определенном порядке?
Или опять мне нужно искать костыли и использовать что-то другое?
			 
			
		
			
				Re: Вопрос про TOpenDialog
				
Добавлено: 
30.01.2024 17:45:09 sts
				по идее, порядок меняться не должен, вот только никто этого не обещал.
Добавлено спустя 50 секунд:
посмотрите может порядок просто становится обратный
			 
			
		
			
				Re: Вопрос про TOpenDialog
				
Добавлено: 
30.01.2024 18:35:40 xchgeaxeax
				Попробуйте извлекать файлы из openDialog.Files через Pop
- Код: Выделить всё
- if OpenDialog1.Execute then
 while OpenDialog1.Files.Count > 0 do
 ListBox1.Items.Add(OpenDialog1.Files.Pop);
 
			
		
			
				Re: Вопрос про TOpenDialog
				
Добавлено: 
30.01.2024 20:49:40 ZWolol
				С помощью Pop получается обратный порядок.
Но мне не нужна сортировка по алфавиту и свойство Sorted недоступно.
Согласен с тем, что ни кто не обещал, что эта компонента будет работать по понедельникам однако...
Наверно опять погода нелетная...
			 
			
		
			
				Re: Вопрос про TOpenDialog
				
Добавлено: 
31.01.2024 13:27:20 slyubez
				Ты бы хоть условия назвал. Операционную систему, например, фреймворк...
			 
			
		
			
				Re: Вопрос про TOpenDialog
				
Добавлено: 
31.01.2024 21:43:41 ZWolol
				Windows 10 Домашняя для одного языка
Версия: 22H2
Сборка ОС: 19045.3930
Windows Feature Experience Pack 1000.19053.1000.0
Intel(R) Core(TM) i5-7400 CPU @ 3.00GHz   3.00 GHz
8,00 ГБ
64-разрядная операционная система, процессор x64
Lazarus
Версия: 2.2.4
Дата: 2022-09-24
Версия FPC: 3.2.2
Ревизия: lazarus_2_2_4
x86_64-win64-win32/win64
Понятие не имею как это может на что-то повлиять.
Здесь вроде как девиз: собрал один раз и работает везде.
А что у тебя работает что-ли?
Похоже компонента использует TStringList с сортировкой и исключением повторяющих.
...потому и не кусают.
			 
			
		
			
				Re: Вопрос про TOpenDialog
				
Добавлено: 
31.01.2024 22:29:54 Alex2013
				Порядок выбора в OpenDialog по идее берется из  системы ( настройки стандартных диалогов (при использовании их с параметрами "по умолчанию") автоматически запоминаются  и часто с контекстной привязкой к программе )+ может брать в том прядке котором выбирали при зажатом shift-е  ( но это не точно ). Вообщем (ИМХО) проще пересортировать "вручную" (в дополнительном списке строк) или (если это совсем критично)  сделать свою версию диалога .
			 
			
		
			
				Re: Вопрос про TOpenDialog
				
Добавлено: 
31.01.2024 22:33:04 RRYTY
				"Write once, compile anywere."
ZWolol писал(а):собрал один раз и работает везде
Круто! 

 
			
		
			
				Re: Вопрос про TOpenDialog
				
Добавлено: 
31.01.2024 22:38:52 Alex2013
				RRYTY писал(а):Круто! 
...Только ОСы об это не знают, они неграмотные! 

Лозунги дело хорошее, а хорошие лозунги еще лучше, однако, не все так хорошо как кажется!
(Многие примеры действительно собираются где угодно, но вот того что-бы реальный проект сходу одинаково хорошо  заработал на нескольких платформах я еще ни разу не встречал  )  

 
			
		
			
				Re: Вопрос про TOpenDialog
				
Добавлено: 
31.01.2024 22:48:21 xchgeaxeax
				Alex2013 писал(а):Порядок выбора в OpenDialog по идее берется из системы
В 
системных диалогах под Windows из comdlg32.dll все работает. А вот диалоги из 
Gtk или 
Qt как раз таки этот порядок не сохраняют. Если надо работать только под Windows и не нужна кроссплатформенность, тогда просто используйте WinAPI. Иначе действительно лучше сконструировать своё окно и использовать его.
Причем о порядке выбора файлов пользователем не сказано ни у Qt, ни у Gtk.
 
			
		
			
				Re: Вопрос про TOpenDialog
				
Добавлено: 
31.01.2024 22:57:15 RRYTY
				Alex2013 писал(а):вот того что-бы реальный проект сходу одинаково хорошо заработал на нескольких платформах я еще ни разу не встречал
Lazarus это рабочий проект. Как бы с ним встретиться?! 

 
			
		
			
				Re: Вопрос про TOpenDialog
				
Добавлено: 
01.02.2024 08:32:46 ZWolol
				>Порядок выбора в OpenDialog по идее берется из системы
Это первое, что я подумал но...
Перечень выбранных файлов отображается в строке.
Все нажатые с Ctrl добавляются в начало строки выбора и даже можно туда самому дописать.
Но после нажатия кнопки 'открыть' порядок будет отсортирован.
Конечно можно просто сделать копию с компоненты и исправить...
P.S.
Мне нравится IDE у борланда.
Билдер закрыли, Дельфи платный, а Лазарус бесплатный аналог.
А бесплатному в зуб...
Когда вышел Билдер С++ 3.0 там было море ошибок, но это нормально.
Выпустили большой патч и стало возможным работать.
Сейчас уже столько лет прошло, а здесь до сих пор какие-то проблемы.
Хотя я взял самое элементарное.