AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi Nero NRG Datei in ISO Konvertieren
Thema durchsuchen
Ansicht
Themen-Optionen

Nero NRG Datei in ISO Konvertieren

Ein Thema von daniel-h · begonnen am 20. Mai 2009 · letzter Beitrag vom 22. Mai 2009
Antwort Antwort
Benutzerbild von daniel-h
daniel-h

Registriert seit: 9. Sep 2008
Ort: b.
170 Beiträge
 
Delphi 7 Enterprise
 
#1

Nero NRG Datei in ISO Konvertieren

  Alt 20. Mai 2009, 19:59
hallo,
ich habe so einige nrg images auf meinem PC. Nun möchte ich diese ins iso Format konvertieren.
Da dachte ich an was selbst programmiertes.
Aber ich weiss nicht, wo ich anfangen soll.
Wäre nett, wenn ihr mir bei dem Algorythmus helfen könntet.

mfg Daniel
  Mit Zitat antworten Zitat
uwewo

Registriert seit: 14. Jul 2004
Ort: Karlsruhe
479 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Nero NRG Datei in ISO Konvertieren

  Alt 20. Mai 2009, 20:31
Hi,

schau mal hier
Uwe
  Mit Zitat antworten Zitat
Benutzerbild von daniel-h
daniel-h

Registriert seit: 9. Sep 2008
Ort: b.
170 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Nero NRG Datei in ISO Konvertieren

  Alt 20. Mai 2009, 21:03
ich habe auch nochmal gegoogelt.
dabei bin ich auf diese procedure gestoßen:

Delphi-Quellcode:
var
  src, dst: Integer;
  buf: Pointer;
  n, bytes, bytestocopy: Integer;
  lastpart: array [0..4] of Integer;
begin
  if Tag = 0 then
    begin
      Tag := 1;
      cancel := False;
      Button1.Enabled := False; Button2.Enabled := False; Button4.Enabled := False;
      Button3.Caption := '&Abbrechen';
      src := INVALID_HANDLE_VALUE;
      dst := INVALID_HANDLE_VALUE;
      try
        GetMem(buf, 1 shl 20); // 1 Megabyte
        src := CreateFile(PChar(Edit1.Text), GENERIC_READ, FILE_SHARE_READ, nil, OPEN_EXISTING, 0, 0);
        if (src = INVALID_HANDLE_VALUE) then
          raise EInOutError.Create('Datei nicht gefunden');
        dst := CreateFile(PChar(Edit2.Text), GENERIC_WRITE, FILE_SHARE_READ, nil, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, 0);
        if (dst = INVALID_HANDLE_VALUE) then
          raise EInOutError.Create('Fehler beim Erzeugen der Datei');
        bytestocopy := SetFilePointer(src, 0, nil, FILE_END);
        SetFilePointer(src, -sizeof(lastpart), nil, FILE_END);
        if (not ReadFile(src, lastpart, sizeof(lastpart), n, nil)) then
          raise EInOutError.Create('Datei zu kurz');
        if (((lastpart[0] = $21444E45) and
             (lastpart[2] = $3552454E)) or
            ((lastpart[1] = $21444E45) and
             (lastpart[3] = $4F52454E))) then
          begin
            bytestocopy := lastpart[4];
            asm
              mov eax, bytestocopy
              xchg ah, al
              rol eax, 16
              xchg ah, al
              mov bytestocopy, eax
            end;
          end;
        Dec(bytestocopy, 512*600);
 // fehler1 if (SetFilePointer(src, 512*600, nil, FILE_BEGIN) = -1) then
          raise EInOutError.Create('Datei zu kurz');
        while (bytestocopy > 0) do
          begin
            bytes := bytestocopy;
            if (bytes > 1 shl 20) then
              bytes := 1 shl 20;
 //fehler2 if (not ReadFile(src, buf^, bytes, n, nil)) then
              raise EInOutError.Create('Fehler beim Lesen');
            if n = 0 then
              break;
            Dec(bytestocopy, n);
            if cancel then
              break;
 //fehler3 if (not WriteFile(dst, buf^, n, n, nil)) then
              raise EInOutError.Create('Fehler beim Schreiben');
            Label1.Caption := Format('%d Bytes kopiert', [SetFilePointer(src, 0, nil, FILE_CURRENT)]);
            Label1.Update;
            Application.ProcessMessages;
          end;
        Label1.Caption := 'fertig.';
      except
        on e: EInOutError do
          Label1.Caption := 'Fehler: ' + e.Message;
      end;
      CloseHandle(src);
      CloseHandle(dst);
      Button3.Caption := '&Konvertieren';
      Button1.Enabled := True; Button2.Enabled := True; Button4.Enabled := True;
      Tag := 0;
    end
  else
    cancel := True;
aber ich kann das nicht kompilieren da kommen 3 fehler:

[Pascal Fehler] Unit1.pas(81): E2033 Die Typen der tatsächlichen und formalen Var-Parameter müssen übereinstimmen
[Pascal Fehler] Unit1.pas(105): E2033 Die Typen der tatsächlichen und formalen Var-Parameter müssen übereinstimmen
[Pascal Fehler] Unit1.pas(112): E2033 Die Typen der tatsächlichen und formalen Var-Parameter müssen übereinstimmen
  Mit Zitat antworten Zitat
Ace

Registriert seit: 30. Apr 2003
6 Beiträge
 
#4

Re: Nero NRG Datei in ISO Konvertieren

  Alt 21. Mai 2009, 09:41
Da gibts doch haufenweise was: http://www.google.de/search?q=nrg2iso
Und wenn du ungedinngt was selber programmieren willst könntest du ja auch einen der Konsolen-Konverter nehmen und eine GUI dafür bauen.
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.582 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: Nero NRG Datei in ISO Konvertieren

  Alt 21. Mai 2009, 09:53
Zitat von daniel-h:
[Pascal Fehler] Unit1.pas(81): E2033 Die Typen der tatsächlichen und formalen Var-Parameter müssen übereinstimmen
[Pascal Fehler] Unit1.pas(105): E2033 Die Typen der tatsächlichen und formalen Var-Parameter müssen übereinstimmen
[Pascal Fehler] Unit1.pas(112): E2033 Die Typen der tatsächlichen und formalen Var-Parameter müssen übereinstimmen
Also bei der ersten Zeile sehe ich so auf Anhieb kein Problem, aber bei den beiden anderen stimmen die Parameter ja auch nicht überein. Denn du hast den variablen Parameter n als Integer statt Cardinal deklariert.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
Satty67

Registriert seit: 24. Feb 2007
Ort: Baden
1.566 Beiträge
 
Delphi 2007 Professional
 
#6

Re: Nero NRG Datei in ISO Konvertieren

  Alt 21. Mai 2009, 10:52
Besser n gleich als DWord.

Der Quellcode ist scheinbar Delphi3, zumindest wird auf der Quellhomepage auch noch die vcl30 angeboten
  Mit Zitat antworten Zitat
Benutzerbild von daniel-h
daniel-h

Registriert seit: 9. Sep 2008
Ort: b.
170 Beiträge
 
Delphi 7 Enterprise
 
#7

Re: Nero NRG Datei in ISO Konvertieren

  Alt 21. Mai 2009, 11:03
ich hab es jetzt nochmal probiert, kompilieren kann ich das jetzt auch aber ich glaube da ist ein logischer fehler drin.
die konvertierten isos sind dann schrott.
benutze jetzt isobuster, funzt super, kann die kaputten iso sogar wieder heile machen
aber dann geht das sofort mit isobuster schneller.
  Mit Zitat antworten Zitat
Satty67

Registriert seit: 24. Feb 2007
Ort: Baden
1.566 Beiträge
 
Delphi 2007 Professional
 
#8

Re: Nero NRG Datei in ISO Konvertieren

  Alt 21. Mai 2009, 11:07
Also eben eine DatenCD mit NeroExpress als NRG gespeichert und mit der Routine als ISO konvertiert. Sowohl 7zip als auch VirtualPC konnten die ISO lesen.

Aber das Audio-CD nicht gehen, steht auf der Homepage... und evtl. nicht alle Versionen von NRG?
  Mit Zitat antworten Zitat
Benutzerbild von daniel-h
daniel-h

Registriert seit: 9. Sep 2008
Ort: b.
170 Beiträge
 
Delphi 7 Enterprise
 
#9

Re: Nero NRG Datei in ISO Konvertieren

  Alt 21. Mai 2009, 11:11
also isobuster sagt mir, dass der udf baum fehlen würde.
ich brauch die dateien ja im iso format, da ich sie patchen muss.
das programm fängt auch an zu mucken
  Mit Zitat antworten Zitat
22. Mai 2009, 16:34
Dieses Thema wurde von "Phoenix" von "VCL / WinForms / Controls" nach "Programmieren allgemein" verschoben.
Das hat nix mit VCL zu tun
Antwort Antwort


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 16:35 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz