Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // "Code Sequenzen" für Kerrigen :D
- //--- Delphi Code inklusive Inline Assembler dient zum Feststellen der Cpu Geschwindigkeit ---
- function TCpuInfo.GetCPUSpeed : Double;
- const
- IntDelayTime = 500;
- var
- TimerHi, TimerLo: DWORD;
- IntPriorityClass, IntPriority: Integer;
- begin
- IntPriorityClass := GetPriorityClass(GetCurrentProcess);
- IntPriority := GetThreadPriority(GetCurrentThread);
- SetPriorityClass(GetCurrentProcess, REALTIME_PRIORITY_CLASS);
- SetThreadPriority(GetCurrentThread, THREAD_PRIORITY_TIME_CRITICAL);
- Sleep(10);
- asm
- dw 310Fh
- mov TimerLo, eax
- mov TimerHi, edx
- end;
- Sleep(IntDelayTime);
- asm
- dw 310Fh
- sub eax, TimerLo
- sbb edx, TimerHi
- mov TimerLo, eax
- mov TimerHi, edx
- end;
- SetThreadPriority(GetCurrentThread, IntPriority);
- SetPriorityClass(GetCurrentProcess, IntPriorityClass);
- Result := TimerLo / (1000.0 * IntDelayTime);
- end;
- //--- C++ Code, Teil eines Burrows-Wheeler-Transformation Encoders ---
- UInt32 CEncoder::ReadRleBlock(Byte *buffer)
- {
- UInt32 i = 0;
- Byte prevByte;
- if (m_InStream.ReadByte(prevByte))
- {
- UInt32 blockSize = m_BlockSizeMult * kBlockSizeStep - 1;
- int numReps = 1;
- buffer[i++] = prevByte;
- while (i < blockSize)
- {
- Byte b;
- if (!m_InStream.ReadByte(b))
- break;
- if (b != prevByte)
- {
- if (numReps >= kRleModeRepSize)
- buffer[i++] = (Byte)(numReps - kRleModeRepSize);
- buffer[i++] = b;
- numReps = 1;
- prevByte = b;
- continue;
- }
- numReps++;
- if (numReps <= kRleModeRepSize)
- buffer[i++] = b;
- else if (numReps == kRleModeRepSize + 255)
- {
- buffer[i++] = (Byte)(numReps - kRleModeRepSize);
- numReps = 0;
- }
- }
- if (numReps >= kRleModeRepSize)
- buffer[i++] = (Byte)(numReps - kRleModeRepSize);
- }
- return i;
- }
- //--- C++ Code, Teil einer Dll Implemetierung ---
- BOOL WINAPI GetArcWriteTimeEx(HARC _harc, FILETIME *_lpftLastWriteTime)
- {
- COpenArchive* pOpenArchive = COpenArchive::FindObject(_harc);
- if (pOpenArchive == NULL)
- return FALSE;
- return pOpenArchive->GetArcWriteTimeEx(_lpftLastWriteTime);
- }
- BOOL WINAPI GetArcFileSizeEx(HARC _harc, ULHA_INT64 *_lpllSize)
- {
- COpenArchive* pOpenArchive = COpenArchive::FindObject(_harc);
- if (pOpenArchive == NULL)
- return FALSE;
- return pOpenArchive->GetArcFileSizeEx(_lpllSize);
- }
- BOOL WINAPI GetArcOriginalSizeEx(HARC _harc, ULHA_INT64 *_lpllSize)
- {
- COpenArchive* pOpenArchive = COpenArchive::FindObject(_harc);
- if (pOpenArchive == NULL)
- return FALSE;
- return pOpenArchive->GetArcOriginalSizeEx(_lpllSize);
- }
- BOOL WINAPI GetArcCompressedSizeEx(HARC _harc, ULHA_INT64 *_lpllSize)
- {
- COpenArchive* pOpenArchive = COpenArchive::FindObject(_harc);
- if (pOpenArchive == NULL)
- return FALSE;
- return pOpenArchive->GetArcCompressedSizeEx(_lpllSize);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement