Keresés

Új hozzászólás Aktív témák

  • #99472384

    törölt tag

    válasz sztanozs #2819 üzenetére

    Sajnos ez jelenleg nem járható út, ezen a kísérleten már a legelső pillanatban túl voltam. :)
    ( Visual Studio Express 2015 )

    Sajnos mindkét merevlemezem, mindkét pendrive-om csutkára tele van, pontosabban az éppen használatban lévő HDD-n még valami kevéske helyem van, de a Visual Studio + a NET keretrendszer együtt már nem fér rá, pont más miatt kellett nemrég legyalulnom a NET keretrendszert, mert most épp semmihez sem kell.

    Sajnos a PHILIPS multi DVD íróm egy hibás gyári firmware miatt (frissítve lett, de bugos volt gyárilag), szépen egy DVD film közben kilehelte a lelkét, a következő LG multi DVD íróm pedig jelenleg javítás alatt van, (csak nincs sok időm foglalkozni vele, így picit csúszik a project) úgyhogy még DVD-t sem tudok írni per pillanat, hogy szabad helyem legyen.

    De szerinted ha nem így állnék, akkor mást kérnék meg egy fél perces+kávészünet idejű fordításra??? :F

  • #99472384

    törölt tag

    válasz EQMontoya #2814 üzenetére

    Üdv.

    Tévedsz, nem maradt ki az utánaolvasás, de nem is ezzel van a gond, mert nagyvonalakban értem.
    A fordítással van a gond, mivel nincs Visual C++ -om, ami meg ingyenes, az nem fordítja le, de nem is csoda mert szinte önmagával sem kompatibilis.

    Hogy milyen operációs rendszerre kell, azt leírtam. 32 vagy 64 bit szinte tökmindegy, mert 64bites Athlonom van, és az op rendszerből is van 32 és 64 bites verzióm. Persze a 32bites verzió lenne a jobb megoldás. Az meg hogy mit és hogyan számol, az tökmindegy, és nincs egyszerűbb megoldás, ugyanis amit számolnia kell az eleve nem publikus.
    Ezt a programot is azért írta egy német fickó, mert az egyik ilyen fájlja megsérült, és használhatatlanná vált.

    No, de ezek jelenleg lényegtelen információk.

    Amit linkeltél, az eddig is világos volt számomra, de mint írtam nem is ez a gond.

  • #99472384

    törölt tag

    Sziasztok, Üdv. Mindenkinek!

    Segítséget szeretnék kérni Visual C++ fordításban. Van egy kis forráskódom, amit sajnos nem tudok futtatható programmá fordítani.
    Eddig Pascal és Delphi programozással kísérleteztem, ezekkel nincs is gondom, de sajnos az említett forráskód Visual C++-ban íródott, és ilyen fejlesztőrendszerem nincs, ami meg ingyenes volt, azzal sehogyan sem jutottam előrébb, mert valami nem igazán működött a fordításnál. Egy jópár hibaüzenettel leállt a fordítás. (pl. stdafx.h hiányzik a fordítónak) Ráadásul a C++-ban nem is igazán vagyok járatos.

    Szóval abban kérném a hozzáértők segítségét, hogy legyenek szívesek megnézni a kódot, hogy egyáltalán jó-e, és ha igen, akkor legyen szíves valaki ezt nekem le is fordítani egy futtatható programmá. Természetesen Windows-ra kell, és ugye ez konzol progi. Sajnos a program íróját már nem lehet elérni, de állítólag működik, csak én sehogy sem boldogulok... :(
    Az is jó lenne, ha valaki bővebben kommentezné a kódot, mert akkor megpróbálom Delphi-ben megírni, hátha sikerül.

    Íme a forráskód:

    #include "stdafx.h"

    #include <fcntl.h>
    #include <sys/types.h>
    #include <sys/stat.h>
    #include <io.h>
    #include <stdio.h>

    #include "test.h"
    #ifdef _DEBUG
    #define new DEBUG_NEW
    #endif


    // The one and only application object

    CWinApp theApp;

    using namespace std;

    unsigned long CalcChecksum( unsigned char* buffer, unsigned long len, unsigned long seed );


    int _tmain(int argc, TCHAR* argv[], TCHAR* envp[])
    {
    int nRetCode = 0;
    int fh;
    unsigned char buffer[0x8000];
    unsigned short len = 0x7FFC;
    unsigned short count;
    unsigned short seed = 1;
    unsigned long chkSum;

    // initialize MFC and print and error on failure
    if (!AfxWinInit(::GetModuleHandle(NULL), NULL, ::GetCommandLine(), 0))
    {
    // TODO: change error code to suit your needs
    _tprintf(_T("Fatal Error: MFC initialization failed\n"));
    nRetCode = 1;
    }
    else
    {
    // TODO: code your application's behavior here.
    if( argc != 2 )
    {
    cout << "usage: CalcChecksum.exe drive:\\path\\info.dvr" << endl;
    return 0;
    }

    fh = _open(argv[1], _O_RDONLY | _O_BINARY);
    if( fh == -1 )
    {
    cout << "Error opening file " << argv[1] << endl;
    }
    count = _read( fh, buffer, 0x8000 );
    if( count != 0x8000 )
    {
    cout << "Error reading file " << argv[1] << endl;
    return 0;
    }
    _close(fh);
    chkSum = CalcChecksum( &buffer[0], len, seed );
    _ultoa( chkSum, (char*)&buffer[0], 16 );
    cout << "Checksum: 0x" << buffer << endl;
    }

    return nRetCode;
    }


    unsigned long CalcChecksum( unsigned char* buffer, unsigned long len, unsigned long seed )
    {
    unsigned char nrOfSegments;
    unsigned long regECX = seed;
    unsigned long regEDX = 0;
    unsigned long regEDI = 0;
    unsigned long retVal;


    nrOfSegments = len / 0x15b0;

    for( unsigned short i = 0; i < nrOfSegments; i++ )
    {
    for( unsigned short j = 0; j < 0x15b0; j++ )
    {
    regEDX = buffer[i*0x15b0+j];
    regECX += regEDX;
    regEDI += regECX;
    }
    regECX = regECX % 0xFFF1;
    regEDI = regEDI % 0xFFF1;
    }

    for( i = (nrOfSegments*0x15b0); i < len; i++ )
    {
    regEDX = buffer[i];
    regECX += regEDX;
    regEDI += regECX;
    }
    regECX = regECX % 0xFFF1;
    regEDI = regEDI % 0xFFF1;

    retVal = (regEDI << 16) | regECX;
    return( retVal );

    }

    ennyi lenne...

    Ha valaki tudna segíteni, és lefordítaná nekem, akkor azt nagyon szépen megköszönném!

Új hozzászólás Aktív témák

Hirdetés