Les Snippets

Connexion

TRIMMER de Roms NDS

Niveau requis pour utiliser/comprendre cette source : 1 ( Débutant )
Créé le 30/11/2007 15:02:06 et initié par Renfield [Liste]
Vue : 2773
Catégorie(s) : Fichier / Disque, Algorithme
Langages dispo pour ce code :
- VB6, VBA



Langage : VB6 , VBA
Date ajout : 30/11/2007
Posté par Renfield [Liste]

Private Const FILE_ATTRIBUTE_NORMAL = &H80
Private Const FILE_BEGIN As Long = 0
Private Const FILE_SHARE_READ As Long = 1
Private Const GENERIC_READ As Long = &H80000000
Private Const GENERIC_WRITE As Long = &H40000000
Private Const OPEN_EXISTING As Long = 3

Private Declare Function CloseHandle Lib "kernel32.dll" (ByVal hObject As Long) As Long
Private Declare Function CreateFile Lib "kernel32.dll" Alias "CreateFileA" (ByVal lpFileName As String, ByVal dwDesiredAccess As Long, ByVal dwShareMode As Long, ByRef lpSecurityAttributes As Any, ByVal dwCreationDisposition As Long, ByVal dwFlagsAndAttributes As Long, ByVal hTemplateFile As Long) As Long
Private Declare Function SetEndOfFile Lib "kernel32.dll" (ByVal hFile As Long) As Long
Private Declare Function SetFilePointer Lib "kernel32.dll" (ByVal hFile As Long, ByVal lDistanceToMove As Long, ByRef lpDistanceToMoveHigh As Long, ByVal dwMoveMethod As Long) As Long

Private Function TrimNDSRom(ByRef vsFilePath As String) As Long
Dim nRomSize As Long
Dim hFile As Long
    On Error GoTo XE
    Open vsFilePath For Binary Access Read As #1
        Seek #1, 129
        Get #1, , nRomSize
        TrimNDSRom = LOF(1) - nRomSize
    Close #1
    
    If TrimNDSRom Then
        hFile = CreateFile(vsFilePath, GENERIC_READ Or GENERIC_WRITE, FILE_SHARE_READ, ByVal 0&, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0)
        If hFile <> -1 Then
            SetFilePointer hFile, nRomSize, 0, FILE_BEGIN
            SetEndOfFile hFile
            CloseHandle hFile
        End If
    End If
XE:
    Close
End Function


Remarque :
Découpe 'sur place' les Roms NDS. En effet, ces fichiers ont des tailles standard, multiples de 2... gagnez donc quelques Mo...

Snippets en rapport avec : Trim, Trimmer, Rom, Nds



Codes sources en rapport avec : Trim, Trimmer, Rom, Nds

{C / C++ / C++.NET} SSCANF POUR SUPPRIMER DES ESPACES (COMME TRIM())
trim() ne marche pas avec les phrases lrim() fonctionne avec phrase et mot rtrim() avec sscanf...

{SQL} SQL SERVER 2000 - SUPPRIMER LES ESPACES VIDES EN FIN DE CHAMPS
A la suite de la création du script pour SQL Server 2005 : - http://www.sqlfr.com/codes/SQL-SERVER...

{SQL} SQL SERVER 2005 - SUPPRIMER TOUS LES CHARACTERES VIDES A LA FIN DES CHAMPS TEXTE (VARCHAR OU NVARCHAR) D'UNE BASE
Dans certains cas de chargement de données provenant de bases fonctionnant en taille fixe (fichier p...

{C / C++ / C++.NET} ROGNER UNE IMAGE AVEC QT 4.0
Ce code montre comment rogner une image avec QT et l'enregistrer. Il peut être facilement modifié po...

{Visual Basic, VB6, VB.NET, VB 2005} TEXTBOX AVANCÉE [AUTORESIZABLE, AUTOTRIM, AUTOSELECTION, COPIER & COLLER INTEGRÉE, ET PLUS..]
Salut Il etait une fois Une zone de text mère et Un zone de texte père ont une toute petite zone de...

{C / C++ / C++.NET} AFFICHAGE GRAPHIQUE DE COURBES [G++][LINUX]
A partir d'un fichier contenant le nombre de courbes à afficher et les coordonnées des points, le pr...

{Visual Basic, VB6, VB.NET, VB 2005} INTERNATIONAL PATCHING SYSTEM ( GBA ROM TOOLS ) : APPLIQUER OU CRÉER UN PATCH IPS
Voila un petit prog tout simple, tiré de mon GBATOols (les patchs pour les roms game boy advance son...

{Foxpro} STRZERO FCTN QUI INSÈRE DES 0.
Fonction basique, mais dont je ne me passe plus... ...

{Visual Basic, VB6, VB.NET, VB 2005} SNES : CALCULER/FIXER LE CHECKSUM + LIRE/EDITER LE HEADER D'UNE ROM SUPER FAMICOM (SUPER NINTENDO / SUPER NES)
Hey hey. Ce petit outil permet de calculer et fixer les bad checksum de vos roms sfc (eviter donc l...

{C / C++ / C++.NET} LES FONCTIONS TRIM, RTRIM ET LTRIM DE VB EN C++ ( CHAINE DE CARACTÈRE )
Il n'y à pas grand chose à dire... c'est seulement pour enlever les espaces à la droite(RTrim), à la...