Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.08.26;
Скачать: CL | DM;

Вниз

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

 
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;
Скачать: CL | DM;

Наверх




Память: 0.6 MB
Время: 0.023 c
2-1185985576
Ruffian
2007-08-01 20:26
2007.08.26
Генератор списков паролей


2-1186330517
KLAUS_
2007-08-05 20:15
2007.08.26
Xor части файла


6-1168336140
Ш-К
2007-01-09 12:49
2007.08.26
Как вставить картинку в TWebBrowser из памяти.


1-1181824064
INJCAL
2007-06-14 16:27
2007.08.26
CRC32


2-1185659944
lookin
2007-07-29 01:59
2007.08.26
Забыл (или не знал?) - как убрать моргание TImage при перерисовке