• R/O
  • SSH
  • HTTPS

id3v2editorplus: Commit


Commit MetaInfo

Revision35 (tree)
Zeit2019-10-02 05:45:44
Autorderekwildstar

Log Message

UClassesETipos.pas

Métodos ExportarTextoDaLetraAtual e ImportarTextoDaLetra implementados em TUSLT

UDAMOPrincipal.pas

Métodos ExportarUSLT e ImportarUSLT implementados
Novas caixas de diálogo incluídas

Ändern Zusammenfassung

Diff

Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
--- trunk/V2/bin/exe/Texto do USLT (en).html (nonexistent)
+++ trunk/V2/bin/exe/Texto do USLT (en).html (revision 35)
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
--- trunk/V2/bin/exe/Texto do USLT (pt-br).html (nonexistent)
+++ trunk/V2/bin/exe/Texto do USLT (pt-br).html (revision 35)
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
--- trunk/V2/src/UClassesETipos.pas (revision 34)
+++ trunk/V2/src/UClassesETipos.pas (revision 35)
@@ -51,6 +51,8 @@
5151 procedure Limpar;
5252 procedure ProximaUSLT(AUltima: Boolean = False);
5353 function ExcluirAtual: Boolean;
54+ function ExportarTextoDaLetraAtual(AFileName: TFileName): Boolean;
55+ function ImportarTextoDaLetra(AArquivo: TFileName; ANovoUSLT: Boolean): Boolean;
5456 procedure SalvarLetraAtualNoArquivo(AArquivo: TFileName);
5557 // Adiciona um TUSLTItem completo a partir de um arquivo de letra
5658 // não sincronizada (.uslt). Quando ANovoUSLT = true haverá a inclusão de
@@ -420,6 +422,22 @@
420422 AtualizarEstadoDosComponentesDeSaida;
421423 end;
422424
425+function TUSLT.ExportarTextoDaLetraAtual(AFileName: TFileName): Boolean;
426+begin
427+ Result := False;
428+
429+ if (FIndice = -1) or (AFileName = '') then
430+ Exit;
431+
432+ with TFileStream.Create(AFileName,fmCreate or fmShareDenyWrite) do
433+ try
434+ Write(PWideChar(Trim(Items[FIndice].Texto))^, (Length(Trim(Items[FIndice].Texto)) + 1) * 2);
435+ Result := True;
436+ finally
437+ Free;
438+ end;
439+end;
440+
423441 function TUSLT.HTMLDoBrowser: String;
424442 var
425443 StringStream: TStringStream;
@@ -454,6 +472,33 @@
454472 end;
455473 end;
456474
475+function TUSLT.ImportarTextoDaLetra(AArquivo: TFileName; ANovoUSLT: Boolean): Boolean;
476+var
477+ USLT: TUSLTItem;
478+begin
479+ with TFileStream.Create(AArquivo,fmOpenRead or fmShareDenyWrite) do
480+ try
481+ if ANovoUSLT or (FIndice = -1) then
482+ USLT := Add
483+ else
484+ begin
485+ USLT := Items[FIndice];
486+ USLT.Texto := '';
487+ end;
488+
489+ USLT.Texto := TextoUnicode;
490+
491+ if ANovoUSLT then
492+ ProximaUSLT(True)
493+ else
494+ ExibirLetra(FIndice);
495+
496+ Result := True;
497+ finally
498+ Free;
499+ end;
500+end;
501+
457502 procedure TUSLT.ConfirmarInformacoesDaLetra;
458503 var
459504 IdDoIdioma: TLanguageID;
--- trunk/V2/src/UDAMOPrincipal.pas (revision 34)
+++ trunk/V2/src/UDAMOPrincipal.pas (revision 35)
@@ -59,6 +59,8 @@
5959 OPDISYLT: TOpenDialog;
6060 ACTNImportarTextoUSLT: TAction;
6161 ACTNExportarTextoUSLT: TAction;
62+ SADIHTML: TSaveDialog;
63+ OPDIHTML: TOpenDialog;
6264 procedure TIMELetreiroTimer(Sender: TObject);
6365 procedure DataModuleCreate(Sender: TObject);
6466 procedure DataModuleDestroy(Sender: TObject);
@@ -644,12 +646,14 @@
644646
645647 procedure TDAMOPrincipal.ExportarUSLT;
646648 begin
647-
649+ if SADIHTML.Execute and FUSLT.ExportarTextoDaLetraAtual(SADIHTML.FileName) then
650+ Application.MessageBox('Texto da letra atual exportado com sucesso!','Exportação concluída',MB_ICONINFORMATION);
648651 end;
649652
650653 procedure TDAMOPrincipal.ImportarUSLT;
651654 begin
652- ShowMessage('Perguntar se quer importar para a letra atual ou se quer criar uma nova letra apenas se houver uma letra carregada');
655+ if OPDIHTML.Execute and FUSLT.ImportarTextoDaLetra(OPDIHTML.FileName,Application.MessageBox('Deseja adicionar uma nova letra? Se você responder "não", apenas o texto da letra atual será substituído','Nova letra?',MB_ICONQUESTION or MB_YESNO) = IDYES) then
656+ Application.MessageBox('Texto da letra importado com sucesso!','Importação concluída',MB_ICONINFORMATION);
653657 end;
654658
655659 procedure TDAMOPrincipal.LimparCamposDaAplicacao(ACamposALimpar: TContexto);
Show on old repository browser