Zuerst schreibst du dir ein Interface, welches die Methoden eines "Archive Integrity Checkers" definiert. Dann implementierst du für jeden der drei Archivtypen eine Klasse, welche dieses Interface implementiert und den jeweiligen Archivtyp überprüft. Schließlich baust du noch eine Factory-Klasse, welche über eine Methode GetArchiveIntegrityChecker(Filename: String) jeweils eine Instanz des richtigen Archive Integrity Checkers liefert.
Dann schmeißt du das Ganze weg und schreibst alles mit drei If-Abfragen in eine 200 Zeilen lange Prozedur.
Dani H.
At Least I Can Say I Tried