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

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

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

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

Lomanu4 Оффлайн

Lomanu4

Команда форума
Администратор
Сообщения
1,163
Симпатии
222
Баллы
155
VK
Для просмотра содержимого вам необходимо авторизоваться.
 
Sascha Оффлайн

Sascha

Заместитель Администратора
Команда форума
Администратор
Сообщения
1,058
Симпатии
273
Баллы
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;
я зделал чтото неправильно?
 
Lomanu4 Оффлайн

Lomanu4

Команда форума
Администратор
Сообщения
1,163
Симпатии
222
Баллы
155
VK
У меня программа ничего не выводит
Код:
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 Оффлайн

Sascha

Заместитель Администратора
Команда форума
Администратор
Сообщения
1,058
Симпатии
273
Баллы
155
Код:
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 Оффлайн

Olya

Homo habilis
Принятый Кодер
Сообщения
72
Симпатии
17
Баллы
60
А зачем кнопка 2
И процедура клика кнопки 2 ?
если ее кода нет она не что не делает только мешается.
 
Sascha Оффлайн

Sascha

Заместитель Администратора
Команда форума
Администратор
Сообщения
1,058
Симпатии
273
Баллы
155
Вверх Снизу