Ir ao conteúdo
  • Cadastre-se

Playlists inteligente em Delphi


Visitante: evertongoulart

Posts recomendados

  • Membro VIP

Olá!

Se você está fazendo um treinamento (curso/etc) disso é porque é de seu interesse. Por favor tente fazer algo com o conhecimento que tiver e poste aqui as duvidas que forem surgindo (se surgirem) e só então te ajudaremos..

Podemos te ajudar mas não iremos resolver seus exercícios por completo..

Acredite: é pro seu proprio bem, quando surgirem exercícios mais difíceis ninguém vai resolver pra você de graça e você não conseguirá resolver..

Estude, não é complicado, só é necessário que você se dedique..

Conforme, ainda, regra da seção:

- Os demais frequentadores do fórum poderão ajudá-lo a tirar dúvidas, mas não irão fazer seu trabalho por você, por isso tente ao menos fazer seus exercícios e poste suas dúvidas, senão nunca irá aprender se fizerem tudo por você.

Regras adicionais, olhe aqui antes de postar

Abraços e qualquer coisa é só postar!

Link para o comentário
Compartilhar em outros sites

Estes recursos que você citou do winap,eu não sei muito bem.

Primeiramente tente fazer a playlist com o nome das faixas,tamanho e talvez um comentário.Para isso você vai precisar de alguns ListBoxs e de um arquivo de texto para cada informação da faixa para conter as informações das faixas.Por exemplo,o arquivo nam.txt,guarda o nome da faixa,o arquivo end.txt o endereço,o size.txt o tamanho.Ai basta carrega-los um ao lado do outro e com ajuda de alguns labels você consegue fazer algo visualmente mais agradável.

Mais como o amigo acima citou,comece sozinho,e poste aqui as dúvidas,não o que deve ser feito.

Tente fazer dai e poste o que conseguir que agente ajuda no que puder.

Link para o comentário
Compartilhar em outros sites

  • 2 semanas depois...
Visitante: evertongoulart
 

pessoal eu consegui isso mais os aquivos repetem na lista

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
shellapi, Dialogs, StdCtrls;

type
TForm1 = class(TForm)
ListBox1: TListBox;
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
private
{ Private declarations }
procedure DragHandler (var Msg : TMessage); message WM_DROPFILES;

public
{ Public declarations }
end;

var
Form1: TForm1;
DroppedFile : Array[0..MAX_PATH * 2] of Char;
TotalDroppedFiles, Counter : Cardinal;
FindFile1 : _WIN32_FIND_DATAA;
FindHandle : Cardinal;
IsLooping : Boolean;
FinalName : PChar;
ListBoxHandle : HWND;
TempList:TListBox;
Cancel: boolean;
implementation

{$R *.dfm}

{ TForm1 }

procedure TForm1.DragHandler(var Msg: TMessage);
var i,j:integer;
begin

if Msg.Msg = WM_DROPFILES then
begin

TotalDroppedFiles := DragQueryFile(Msg.wParam, $FFFFFFFF, nil, 0);

TempList.Items.BeginUpdate;
for Counter := 0 to TotalDroppedFiles -1 do
begin

DragQueryFile(Msg.wParam, Counter, DroppedFile, SizeOf(DroppedFile));

if GetFileAttributes(DroppedFile) and FILE_ATTRIBUTE_DIRECTORY = 0 then
begin

SendMessage(TempList.Handle, LB_ADDSTRING, 0, Integer(@DroppedFile));

for i:=0 to templist.Count-1 do
begin
ListBox1.Items.Add(templist.Items[i]);

end;
end else
if GetFileAttributes(DroppedFile) and FILE_ATTRIBUTE_DIRECTORY = FILE_ATTRIBUTE_DIRECTORY then
begin

//para adcionar diretorio
lstrcat(DroppedFile, '\');

FindHandle := FindFirstFile(PChar(DroppedFile +'*.*'), FindFile1);

if FindHandle <> INVALID_HANDLE_VALUE then
begin
repeat

IsLooping := FindNextFile(FindHandle, FindFile1);

FillChar(FinalName^ , MAX_PATH * 2 , #0);

lstrcpy(FinalName, DroppedFile);

lstrcat(FinalName, FindFile1.cFileName);

if GetFileAttributes(FinalName) and FILE_ATTRIBUTE_DIRECTORY = 0 then
SendMessage(TempList.Handle, LB_ADDSTRING, 0, Integer(FinalName));

until not IsLooping;

for i:=0 to templist.Count-1 do
begin
ListBox1.Items.Add(templist.Items[i]);

end;
end;

Windows.FindClose(FindHandle);
end;
end;

DragFinish(Msg.wParam);

TempList.Items.EndUpdate;
TempList.Clear;


End;
end;



procedure TForm1.FormCreate(Sender: TObject);
var j:integer;
P: array [0..255] of Char;
TempPath: string;
begin



TempList:=TListBox.Create(self);
TempList.Parent:=self;
TempList.Visible:=false;
DragAcceptFiles(ListBox1.Handle , True);
GetMem(FinalName, MAX_PATH * 2);
ListBoxHandle := FindWindowEx(Form1.Handle , 0, 'TListBox', nil);


end;



procedure TForm1.FormDestroy(Sender: TObject);
var
P: array [0..255] of Char;
TempPath: string;
begin
GetTempPath(255,P);
TempPath:=StrPas(P);

TempList.Free;
DragAcceptFiles(ListBox1.Handle , False);
FreeMem(FinalName);
end;

end.

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!