Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.08.26;
Скачать: [xml.tar.bz2];

Вниз

помогите чайнику плз   Найти похожие ветки 

 
hahol   (2007-08-04 19:30) [0]

почему данная запись не работает
она почемуто выводит не полное имя файла,находящегося в списке с индексом i , а только название и его расширение:
extractfilename(play_list.ListBox1.Items[i]);


 
Efir ©   (2007-08-04 19:32) [1]

Ну правильно, функция extractfilename это и делает. Если нужно полное имя файла не используй extractfilename.


 
hahol   (2007-08-04 19:49) [2]

а как узнатьполное имя


 
Dib@zol ©   (2007-08-04 19:49) [3]

Сказали ж! НЕ писать extractfilename...


 
hahol   (2007-08-04 19:53) [4]

да я читать умею
понял ЧТО ИСПЛЬЗОВАТЬ НЕЛЗЯ
>ТАК КАК УЗНАТЬ полное путь шоль тогдая незнаю еще как обьяснять
че не использовать я тоже могу сказать
неужели не кто не может толково сказать


 
Dib@zol ©   (2007-08-04 19:56) [5]

Как я понял, у тебя в некоей структуре под названием play_list содержатся ТОЛЬКО имена музыковых файлов. И они надо полагать успешно открываются. Если это так то решение проблемы - ExtractFilePath(paramStr(0))+"\"+play_list.ListBox1.Items[i];


 
Dib@zol ©   (2007-08-04 19:57) [6]

А если это не так - то тут только поиск поможет. Щас найду алгоритм, погодь.


 
Alien1769 ©   (2007-08-04 19:57) [7]

Тебе ответили, пост [1]


 
hahol   (2007-08-04 20:03) [8]

да не немного не так понял просто у меня в отдельною форме растянут listbox. эту форму я назвал play_list ;


 
Zagaevskiy ©   (2007-08-04 20:06) [9]


> в списке

там что конкретно?
если в листбоксе и так имена , то зачем извращаться? если нет, то откуда они(имена) будут браться?


 
hahol   (2007-08-04 20:10) [10]

всписке только имя файла и его расширение(типа там Музоню.mp3), а что бы проиграть мне нужен полный путь (что то вроде этого c:\мои документы\Музон.mp3);


 
Zagaevskiy ©   (2007-08-04 20:13) [11]


> hahol   (04.08.07 20:10) [10]

а откуда берутся имя файла и его расширение ? может лучше запоминать сразу и путь
. чем искать по всему компу(тем более кто знает сколько там таких"Музоню.mp3")?


 
begin...end ©   (2007-08-04 20:14) [12]

Маша живёт по адресу: дом 1, квартира 8. На какой улице -- неизвестно. Что делать, если Маша пригласила в гости на чашку чая?


 
begin...end ©   (2007-08-04 20:17) [13]

Народ, помогите чайнику, плз. Маша-то ждёт...


 
Zagaevskiy ©   (2007-08-04 20:17) [14]


>
> begin...end ©   (04.08.07 20:14) [12]
> Маша живёт по адресу: дом 1, квартира 8. На какой улице
> -- неизвестно. Что делать, если Маша пригласила в гости
> на чашку чая?

Ходить в каждый первый дом, восьмую квартиру.Довольно долго, но если Маша красивая, то можно попотеть


 
Zagaevskiy ©   (2007-08-04 20:18) [15]


> Маша-то ждёт...

Если терпиливая, подождёт


 
hahol   (2007-08-04 20:21) [16]

ну тогда помогите с алгоритмом который будет запоминать СРАЗУ полный путь к файлу и его имяж
Для образования плей листа я использовал Tfilenamelistbox в котором сразу пишеца чисто имя файла без пути .
Я перкидывал из идного списка в другой те items которы е выделены;
ну а как и че дальше я чет не знаю.


 
hahol   (2007-08-04 20:22) [17]

мастера ближе к теме какая вам там МАША


 
Zagaevskiy ©   (2007-08-04 20:23) [18]


> Tfilenamelistbox

что за зверь?


 
hahol   (2007-08-04 20:26) [19]

ха ну загнался чайник
правильно будет Tfilelistbox
компонент
с закладки win 3.1


 
Zagaevskiy ©   (2007-08-04 20:28) [20]


> hahol   (04.08.07 20:26) [19]
> ха ну загнался чайник
> правильно будет Tfilelistbox
> компонент
> с закладки win 3.1

Так, давай проясним.Во-первых, кто чайник?


 
Zagaevskiy ©   (2007-08-04 20:31) [21]

во-вторых, а что ты оттуда берёшь?


 
hahol   (2007-08-04 20:32) [22]

кто загнался тот и чайник
кто задает вопросы тот и чайник
неужели не понятно.
я КОНЕЧНО.
я всего первый месяц в DELPHI програмирую без всякой литературы
все прошел методом "тыка"
поэтому могу писать и охинею
вот надеялся что мне тут помогут  но чет пока никаких толков
мастера ПОМОГИТЕ


 
hahol   (2007-08-04 20:35) [23]

я от туда беру наверно имя файла рас компонент называеца Tfilelistbox


 
Zagaevskiy ©   (2007-08-04 20:35) [24]


> hahol   (04.08.07 20:32) [22]
> кто загнался тот и чайник
> кто задает вопросы тот и чайник
> неужели не понятно.
> я КОНЕЧНО.
> я всего первый месяц в DELPHI програмирую без всякой литературы
> все прошел методом "тыка"
> поэтому могу писать и охинею
> вот надеялся что мне тут помогут  но чет пока никаких толков
>
> мастера ПОМОГИТЕ

Совет: не используй TFileListBox.


 
Zagaevskiy ©   (2007-08-04 20:36) [25]


> hahol   (04.08.07 20:35) [23]
> я от туда беру наверно имя файла рас компонент называеца
> Tfilelistbox

А какое конкретно имя? и зачем?


 
{RASkov} ©   (2007-08-04 20:37) [26]

> ПОМОГИТЕ

Как же тебе помочь, бедняга :(
Я не издеваюсь.... просто ты с самого начала не по тому пути пошел... и рассказывать с самого начала, нет смысла....

> без всякой литературы

Вот отсюда и ростут глюки...


 
hahol   (2007-08-04 20:38) [27]

ну а как тогда сделать чтобы можно было удобно и просто в рефлихации для меня с делать
через opendialog не получица , потому что на сколько я знаю там нет свойства multiselect что бы выделять несколько файлов


 
{RASkov} ©   (2007-08-04 20:39) [28]

> [27] hahol   (04.08.07 20:38)
> там нет свойства multiselect

ошибаешься...


 
{RASkov} ©   (2007-08-04 20:40) [29]

> [27] hahol   (04.08.07 20:38)

Попробуй вместо литературы использовать F1...


 
{RASkov} ©   (2007-08-04 20:40) [30]

...хотябы :)


 
hahol   (2007-08-04 20:45) [31]

короче ща обьясню все полностью чтобы не было лишних вопросов
у меня есть три формы  
первая нам не нужна
вторая (open_file_form) - это форма в которой расположен tfilelistbox tdrivecombobox и тп
короче компоненты для того чтобы лазить по директориям компа
в третьей форме(play_list) listbox в которую я перемещю строки из tfilelistbox второй формы.
мне нужно что при двойном щелчке на listbox производились определнные действия  с файлом на который щелкаем.


 
hahol   (2007-08-04 20:45) [32]

вот его как рас и используем(f1)


 
Zagaevskiy ©   (2007-08-04 20:45) [33]

может TShellListView


 
Zagaevskiy ©   (2007-08-04 20:46) [34]


> ошибаешься...

А как?


 
hahol   (2007-08-04 20:46) [35]

где он находица
на какой вкладе


 
Zagaevskiy ©   (2007-08-04 20:50) [36]

Samples.Но и в  tfilelistbox должОн быть полный путь. Лазать искать - неахота, лучше спросить у того, кто пользовался


 
Zagaevskiy ©   (2007-08-04 20:52) [37]

А вообще используй лучше OpenDialog.

to {RASkov} CоРРи
Оченно извЕняюсь


 
hahol   (2007-08-04 20:57) [38]

{RASkov}  я чет пропустил твой ответ так значит там есть свойство multiselect
но почему я его не найду в Object inspector
может она както па другому называеца
помоги плз


 
Zagaevskiy ©   (2007-08-04 20:59) [39]

Options+ ofAllowMultiSelect


 
hahol   (2007-08-04 21:03) [40]

а куда помущаюца имена выбранных файлов
веть opendialo.filename - это не массив а перменная типа стринг
как мне их кинуть потом в listbox


 
Alien1769 ©   (2007-08-04 21:07) [41]


> как мне их кинуть потом в listbox

лучше добавить /add/


 
Zagaevskiy ©   (2007-08-04 21:07) [42]

насколько я понял OpenDialog1.Files[i]


 
hahol   (2007-08-04 21:14) [43]

а как узнать сколко файлов я выбрал


 
begin...end ©   (2007-08-04 21:14) [44]

> помущаюца

От слова "мущщина"?


 
Zagaevskiy ©   (2007-08-04 21:17) [45]

OpenDialog1.Files.Count наверное? и вообще, тебя не учили нажимать
CTRL+<пробел>?


 
hahol   (2007-08-04 21:18) [46]

меня не кто ни чему не учил
все сам
а за помощь спасибо все пашет


 
Zagaevskiy ©   (2007-08-04 21:19) [47]

именование с "0" начинается(это если не знаеш)


 
Zagaevskiy ©   (2007-08-04 21:20) [48]


> hahol   (04.08.07 21:18) [46]
> меня не кто ни чему не учил
> все сам
> а за помощь спасибо все пашет

так прям и сам? вообще ни разу не видел как кто-то программирует?


 
Zagaevskiy ©   (2007-08-04 21:24) [49]

кстати.Если сам учишся нужно понимание процесса.например:\
extractfilename не начинает тупо искать по компу, где есть такой файл, а выделяет имя из строки, которую ты туда засуниш. заранее пожалста :)))))))


 
{RASkov} ©   (2007-08-04 21:38) [50]

> hahol
На тебе почти готовый плейлист....
Кинь на форму TListBox, TButton и TOpenDialog... и проставь обработчики в инспекторе...

unit Unit1;
interface
uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, StdCtrls;

type
 TFileData = class
  SFileName, SortName, SExt: String;
 end;

 TForm1 = class(TForm)
   Button1: TButton;
   OpenDialog1: TOpenDialog;
   ListBox1: TListBox;
   procedure Button1Click(Sender: TObject);
   procedure ListBox1DrawItem(Control: TWinControl; Index: Integer;
     Rect: TRect; State: TOwnerDrawState);
   procedure ListBox1DblClick(Sender: TObject);
   procedure FormCreate(Sender: TObject);
 private
   { Private declarations }
 public
   { Public declarations }
 end;

var
 Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
 OpenDialog1.Options:=OpenDialog1.Options+[ofAllowMultiSelect];
 ListBox1.Style:=lbOwnerDrawFixed;
end;

procedure TForm1.Button1Click(Sender: TObject);
var FD: TFileData; N: Integer;
begin
 if OpenDialog1.Execute then
  for N := 0 to OpenDialog1.Files.Count-1 do begin
   FD:=TFileData.Create;
   FD.SFileName:=OpenDialog1.Files[N];
   FD.SExt:=ExtractFileExt(FD.SFileName);
   FD.SortName:=ExtractFileName(FD.SFileName);
   Delete(FD.SortName, LastDelimiter(".", FD.SortName), Length(FD.SExt));
   Delete(FD.SExt, 1, 1);
   ListBox1.AddItem("", FD);
  end;
end;

procedure TForm1.ListBox1DrawItem(Control: TWinControl; Index: Integer; Rect: TRect; State: TOwnerDrawState);
var FD: TFileData; W: Integer;
begin
 with TListBox(Control) do begin
  Canvas.FillRect(Rect);
  FD:=TFileData(Items.Objects[Index]);
  Canvas.Font.Color:=clRed;
  DrawText(Canvas.Handle, PChar(FD.SExt), -1, Rect, DT_RIGHT);
  W:=Canvas.TextWidth(FD.SExt);
  Rect.Right:=Rect.Right-W;
  Canvas.Font.Color:=clBlue;
  DrawText(Canvas.Handle, PChar(FD.SortName), -1, Rect, DT_LEFT or DT_END_ELLIPSIS);
 end;
end;

procedure TForm1.ListBox1DblClick(Sender: TObject);
var FD: TFileData;
begin
 FD:=TFileData(ListBox1.Items.Objects[ListBox1.ItemIndex]);
 ShowMessage(FD.SFileName);
end;

end.

Разберешься....


 
{RASkov} ©   (2007-08-04 21:40) [51]

Только в примере в [50] нет никаких проверок, так, что будь внимательным при обращении к Объектам в листбоксе...


 
Yanis ©   (2007-08-04 21:46) [52]


> вообще ни разу не видел как кто-то программирует?

А ты, примеру, часто видел?


 
{RASkov} ©   (2007-08-04 22:19) [53]

> [37] Zagaevskiy ©   (04.08.07 20:52)
> to {RASkov} CоРРи
> Оченно извЕняюсь

Я с ошибками пишу не специально.... ошибаюсь и стыдно потом за свои посты...
И в этой ветке.... ошибок понаделал как в русском так и в английском...(
А уж очень молодых, прет походу специально делать ошибки.... :)
Я хоть и сам не "стар" еще, но, что-то "невтыкает" ошибаться... :о)
Впрочем фик с ними... с ошибками... но порой думаешь, что же именно имелось ввиду )
Сорри за оффтоп...


 
Zagaevskiy ©   (2007-08-05 09:15) [54]


> {RASkov} ©   (04.08.07 22:19) [53]

Объясняю :

1 : "{RASkov} ©   (04.08.07 20:39) [28]
> [27] hahol   (04.08.07 20:38)
> там нет свойства multiselect

ошибаешься..."

2 : "Zagaevskiy ©   (04.08.07 20:46) [34]

> ошибаешься...

А как?"

Вот и всё. Насчёт ошибок - я торопился


 
Zagaevskiy ©   (2007-08-05 09:18) [55]


> Yanis ©   (04.08.07 21:46) [52]
>
> > вообще ни разу не видел как кто-то программирует?
>
> А ты, примеру, часто видел?

Да, доввольно часто :) примерно месяц сидел и смотрел, как один чел писал игру "О счастливчик" даже подсказывал чего-то(это было на заре моего программирования :]).Теперь понимаю, как мы там ВСЁтупо делали.



Страницы: 1 2 вся ветка

Форум: "Начинающим";
Текущий архив: 2007.08.26;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.59 MB
Время: 0.051 c
15-1185823684
ArtemESC
2007-07-30 23:28
2007.08.26
Пролил квас на клаву...


2-1185881681
snake-as
2007-07-31 15:34
2007.08.26
Подсказка для пользователя


15-1185349224
ПЛОВ
2007-07-25 11:40
2007.08.26
SQL


2-1185996421
Мануха
2007-08-01 23:27
2007.08.26
chart


15-1185882018
Rimd
2007-07-31 15:40
2007.08.26
InterBase





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский