Что нового
  • Что бы вступить в ряды "Принятый кодер" Вам нужно:
    Написать 10 полезных сообщений или тем и Получить 10 симпатий.
    Для того кто не хочет терять время,может пожертвовать средства для поддержки сервеса, и вступить в ряды VIP на месяц, дополнительная информация в лс.

  • Пользаватели которые будут спамить, уходят в бан без предупреждения. Спам сообщения определяется администрацией и модератором.

  • Гость, Что бы Вы хотели увидеть на нашем Форуме? Изложить свои идеи и пожелания по улучшению форума Вы можете поделиться с нами здесь. ----> Перейдите сюда
  • Все пользователи не прошедшие проверку электронной почты будут заблокированы. Все вопросы с разблокировкой обращайтесь по адресу электронной почте : info@guardianelinks.com . Не пришло сообщение о проверке или о сбросе также сообщите нам.

Получение MP3 тэга

Sascha

Заместитель Администратора
Команда форума
Администратор
Регистрация
9 Май 2015
Сообщения
1,058
Баллы
155
Возраст
46
У меня программа ничего не выводит
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
  Tag: TMP3Tag;
begin
  if OpenDialog1.Execute then
    Tag := GetMP3Tag(OpenDialog1.FileName);
    Edit1.Text:=Tag.Title;
    Edit2.Text:=Tag.Artist;
    Edit3.Text:=Tag.Album;
    Edit4.Text:=Tag.Year;
    Edit4.Text:=Tag.Comment;
end;
я зделал чтото неправильно?
 

Lomanu4

Команда форума
Администратор
Регистрация
1 Мар 2015
Сообщения
1,185
Баллы
155
У меня программа ничего не выводит
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
  Tag: TMP3Tag;
begin
  if OpenDialog1.Execute then
    Tag := GetMP3Tag(OpenDialog1.FileName);
    Edit1.Text:=Tag.Title;
    Edit2.Text:=Tag.Artist;
    Edit3.Text:=Tag.Album;
    Edit4.Text:=Tag.Year;
    Edit4.Text:=Tag.Comment;
end;
я зделал чтото неправильно?
Код:
type
  TMP3Tag = record // переменная у тебя создана по другому
    FileName, Title, Artist, Album, Year, Comment: string;
  end;
 

Sascha

Заместитель Администратора
Команда форума
Администратор
Регистрация
9 Май 2015
Сообщения
1,058
Баллы
155
Возраст
46
Код:
type
  TMP3Tag = record // переменная у тебя создана по другому
    FileName, Title, Artist, Album, Year, Comment: string;
  end;
Нет все так
Код:
unit Unit1;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    OpenDialog1: TOpenDialog;
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Edit4: TEdit;
    Edit5: TEdit;
    procedure Button1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

  type
  TMP3Tag = record
    FileName, Title, Artist, Album, Year, Comment: string;
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}


function GetMP3Tag(fn: string): TMP3Tag;
var
  tag: array[0..127] of char;
  f: file;
  i: byte;
  s: string;

  procedure DelSpace(var s: string);
  begin // Удаляет пробелы и символы
    // #0 в конце строки.
    if length(s) = 0 then
      exit;
    while s[length(s)] in [' ', #0] do
    begin
      delete(s, length(s), 1);
      if s = '' then
        break;
    end;
  end;

begin
  result.FileName := fn;
  result.Title := '';
  result.Artist := '';
  result.Album := '';
  result.Year := '';
  result.Comment := '';

  AssignFile(F, fn); // Открываем файл
{$I-} // с проверкой его существования :)
  Reset(F, 1);
  Seek(F, FileSize(F) - 128); // Читаем тэг - последние 128 байт
  BlockRead(f, tag, 128);
  CloseFile(F);
{$I+}

  if IOResult <> 0 then
  begin
    exit;
  end;

  s := '';
  for i := 0 to 127 do
    s := s + tag;

  if copy(s, 1, 3) = 'TAG' then // В файле есть тэг - разбираем его
  begin
    result.Title := copy(s, 4, 30);
    DelSpace(result.title);
    result.Artist := copy(s, 34, 30);
    DelSpace(result.artist);
    result.Album := copy(s, 64, 30);
    DelSpace(result.album);
    result.Year := copy(s, 94, 4);
    DelSpace(result.year);
    result.Comment := copy(s, 98, 30);
    DelSpace(result.comment);
  end;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
  Tag: TMP3Tag;
begin
  if OpenDialog1.Execute then
    Tag := GetMP3Tag(OpenDialog1.FileName);
    Edit1.Text:=Tag.Title;
    Edit2.Text:=Tag.Artist;
    Edit3.Text:=Tag.Album;
    Edit4.Text:=Tag.Year;
    Edit4.Text:=Tag.Comment;
end;

end.
 
Последнее редактирование:

Olya

Homo habilis
Принятый Кодер
Регистрация
10 Май 2015
Сообщения
72
Баллы
60
Возраст
26
А зачем кнопка 2
И процедура клика кнопки 2 ?
если ее кода нет она не что не делает только мешается.
 

Sascha

Заместитель Администратора
Команда форума
Администратор
Регистрация
9 Май 2015
Сообщения
1,058
Баллы
155
Возраст
46
Вверх