AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte kleiner Untertitel Editor

kleiner Untertitel Editor

Ein Thema von herkulesamstart · begonnen am 12. Jun 2008 · letzter Beitrag vom 12. Jun 2008
Antwort Antwort
herkulesamstart
Registriert seit: 17. Jun 2005
Hallo,

ich hab mir mal einen kleinen Untertitel Editor zusammen gebastelt.

Funktionen:
  • Kann Untertitel bearbeiten (Start/Ende/Text einer Szene veraendern)
  • Zeit skalieren.
  • Zeit verschieben.

Untertitel-Datei (Textfile):
Zitat:
0
00:00:01,000 --> 00:00:02,000
Text...
...

1
00:00:03,000 --> 00:00:04,000
Text...
...
dafuer habe ich folgenden Typ festgelegt:

Delphi-Quellcode:
  Tmystr = string[150];

  Tzeit = record
            hour : Integer;
            min : Integer;
            sec : Integer;
            mill : Integer
          end;

  Tsubtitel = Array[1..4] of Tmystr;

  Tdatatyp = record
               nummer : Integer;
               start : Tzeit;
               ende : Tzeit;
               sub : Tsubtitel;
             end;

  Tdb = Array[1..2000] of record
                            data : Tdatatyp;
                            high : integer;
                          end;
also viel Spaß damit,
herkulesamstart

Ps.: klar will ich euren Senf dazu hoeren! Vllt auch Kommentare zum meinen Programmierstil(der ja gar keiner ist^^)
Miniaturansicht angehängter Grafiken
project1_101.jpg  
Angehängte Dateien
Dateityp: rar untertitel_editor_155.rar (224,8 KB, 11x aufgerufen)
Dateityp: rar projektdateien_629.rar (44,1 KB, 6x aufgerufen)
 
12. Jun 2008, 05:50
Dieses Thema wurde von "Matze" von "Freeware" nach "Open-Source" verschoben.
Der Source ist dabei -> Open Source
Benutzerbild von Matze
Matze

 
Turbo Delphi für Win32
 
#3
  Alt 12. Jun 2008, 06:15
Hallo,

du solltest die Archive als "zip" packen, denn mit dem rar-Format können nicht alle umgehen.

Zugegeben, ich habe nicht verstanden, was dein Programm genau macht. Welche Untertitel lassen sich damit denn editieren?
  • Wenn ich auf "oeffnen" klicke und dann auf "Abbrechen" kommt:

    Zitat:
    ---------------------------
    Untertitel Editor
    ---------------------------
    Scrollbar property out of range.
    ---------------------------
    OK
    ---------------------------
  • Beim Verändern der Formulargröße werden die Controls nicht mit skaliert. Entweder lässt du diese skalieren (Stichwörter: Anchors, Align) oder du verhinderst, dass die Formulargröße geändert werden kann. Erst genanntes ist natürlich schöner.
  • Wenn ich - ohne eine Datei geöffnet zu haben - auf "skalieren" klicke, kommt eine Meldung über die erfolgreiche Skalierung. Du solltest die Meldungen nur dann ausgeben, wenn sie Sinn ergeben. Das gleiche gilt für "verschieben".

    Zitat von herkulesamstart:
    Vllt auch Kommentare zum meinen Programmierstil(der ja gar keiner ist^^)
    Das hast du allerdings recht.
  • Du solltest ...

    ... den Quellcode einheitlich formatieren (einrücken)
    ... Deine Units/Formulare vernünftig benennen. Du weißt sonst in 4 Wochen nicht mehr, welche Unit wofür steht (Unit1.pas, Unit2.pas)
    ... Deine Komponenten ebenfalls mit aussagekräftigen Namen versehen, damit du am Namen erkennst, wofür welche Komponente da ist. Was "Edit10" macht, weißt du, wenn überhaupt, dann nur noch kurze Zeit.
    ... Keywords einheitlich schreiben. Mal schreibst du Keywords (fett gedruckte Wörter) klein und mal groß (Bsp: "begin", "end", "IF, "THEN", "For", "Do"). Ich persönlich schreibe sie durchweg klein.
    ... Die Funktionsnamen ebenfalls einheitlich schreiben bzw. so wie sie deklariert sind. Also weder "IntToSTR" noch "INTTOSTR" sondern "IntToStr"
    ... Das gleiche gilt für deine anderen Bezeichner ("Image1", "image1")
    ... Code übersichtlicher machen. 16 mal "Image1.Canvas." untereinander zu schreiben ist zwar nicht schlimm, übersichtlicher wäre jedoch

    Delphi-Quellcode:
    with Image1.Canvas do
    begin
      Brush.Color := ...;
      FillRect(...);
      // ...
    end;
    Das hier kannst du auch deutlich kürzen:

    Delphi-Quellcode:
    procedure TForm1.Edit7KeyPress(Sender: TObject; var Key: Char);
    begin
    keycheck(Sender,Edit7,key);
    end;

    procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
    begin
    keycheck(Sender,Edit1,key);
    end;

    // unzählige weitere ;-)
    Schreibe dir eine einzige KeyPress-Prozedur und weise die (im Objektinspektor -> Ereignisse) den entsprechenden Edits zu, zumal du nicht den Edit-Namen übergeben musst, er steckt im "Sender" mit drinnen:

    Delphi-Quellcode:
    procedure TForm1.EditKeyPress(Sender: TObject; var Key: Char);
    begin
      KeyCheck(Sender, (Sender as TEdit).Name, Key);
    end;

Das war's vorerst, denn ich muss gleich los.

Grüße, Matze
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

 
Delphi 10.4 Sydney
 
#4
  Alt 12. Jun 2008, 10:20
der Mediaplayer (oder macht das nur eines meiner Plugins ) kann z.B. zu Videos Untertiel anzeigen (z.B. diese knuffigen .srt-Dateien)

aber ich würde es schöner finden, wenn man in deinem Programm sich auch das Video ansehn kann ... zur besseren/leichteren Synchronisation (jab mir's Programm noch nicht angesehn, aber ich seh im ScreenShot kein Bild[vom Video] )

@Matze: 7zip und andere guten Packprogramme entpacken auch RAR
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:37 Uhr.
Powered by vBulletin® Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf