Hirdetés
- iPhone topik
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Nothing Phone (2) - több, mint elsőre látszik
- One mobilszolgáltatások
- Redmi Note 14 Pro+ 5G - a tizenhármas átka
- Poco F8 Ultra – forrónaci
- Fele annyit ér az iPhone Air, mint amennyibe pár hete került
- VoLTE/VoWiFi
- Honor 200 Pro - mobilportré
- Huawei Mate 40 Pro - a csúcson kell abbahagyni?
Új hozzászólás Aktív témák
-
#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
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- LEGJOBB ÁR AKCIÓ! Samsung Galaxy Z Fold7 256GB 12GB RAM, gyári független. 2 hetes, hibátlan!
- Flint 3 Wi-Fi 7 Home Router
- ASUS ROG Strix G17 gaming laptop i7 / RTX 2060 / 16GB RAM / 512GB SSD 17,3" 144Hz
- UTOLSÓK A KÉSZLETEN! - ÚJ, bontatlan iPhone 17 AIR 256GB AZONNAL! - Space Black
- Új 32GB G.Skill F3 2400Mhz CL10 eladó!
- iPhone 16 Pro 128GB 100% (1év Garancia)
- HP Thunderbolt-dokkoló, 120W G4 (4J0A2AA)
- GYÖNYÖRŰ iPhone 12 Pro Max 256GB Graphite -1 ÉV GARANCIA - Kártyafüggetlen, MS2927, 100% Akkumulátor
- AKCIÓ! Lenovo Legion Go S 32GB/1TB kézikonzol garanciával hibátlan működéssel
- Honor Magic 7 Pro 512 Gb - AI Pro kamera, 6,8 120 Hz LTPO OLED, Snapdragon 8 Elite,3 hó gari!
Állásajánlatok
Cég: ATW Internet Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest



