Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > .NET Languages
You last visited: Today at 10:04

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Datei einlesen bzw. bearbeiten

Discussion on Datei einlesen bzw. bearbeiten within the .NET Languages forum part of the Coders Den category.

Reply
 
Old   #1

 
{Skrillex}'s Avatar
 
elite*gold: 0
Join Date: Mar 2013
Posts: 850
Received Thanks: 408
Datei einlesen bzw. bearbeiten

Hallo liebe Community,
bevor ich anfange zu schreiben muss ich sagen, dass ich absoluter anfänger in .NET basierten Sprachen bin.

Ich versuche mich derzeitig an einen Launcher für ein Bereits vorhandenes Spiel.
Dieser soll auch auf Updates prüfen und ggf. auch ein Update durchführen.

Dafür muss ich ja Zugriff auf die Datei mit der Dateiendung ".SAH" haben. Wie bekomme ich es umgesetzt Zugriff auf diese Datei zu erhalten oder sogar diese Auszulesen? Wenn ich den Inhalt einsehen kann wäre das ja schonmal ein guter Großer schritt.
Die Datei Strukturierung sieht wie folgt aus:
Hat jemand eine Idee wie man das ganze umsetzen könnte? Ich bin über jede hilft wirklich froh.

Ich danke für jede Antwort und wünsche einen angenehmen Abend.

Liebe Grüße

Gian-Luca
{Skrillex} is offline  
Old 02/28/2019, 22:08   #2
 
elite*gold: 0
Join Date: Apr 2011
Posts: 363
Received Thanks: 167
Quote:
Originally Posted by .:Unix:. View Post
Hallo liebe Community,
bevor ich anfange zu schreiben muss ich sagen, dass ich absoluter anfänger in .NET basierten Sprachen bin.

Ich versuche mich derzeitig an einen Launcher für ein Bereits vorhandenes Spiel.
Dieser soll auch auf Updates prüfen und ggf. auch ein Update durchführen.

Dafür muss ich ja Zugriff auf die Datei mit der Dateiendung ".SAH" haben. Wie bekomme ich es umgesetzt Zugriff auf diese Datei zu erhalten oder sogar diese Auszulesen? Wenn ich den Inhalt einsehen kann wäre das ja schonmal ein guter Großer schritt.
Die Datei Strukturierung sieht wie folgt aus:
Hat jemand eine Idee wie man das ganze umsetzen könnte? Ich bin über jede hilft wirklich froh.

Ich danke für jede Antwort und wünsche einen angenehmen Abend.

Liebe Grüße

Gian-Luca

I think i could try:

Code:
using System;
using System.IO;


namespace file_reader
{
    class Program
    {
        static void Main(string[] args)
        {
            BinaryReader br;
            try
            {
                
                String path = Path.Combine(Directory.GetCurrentDirectory(), "someFile.sah");
                br = new BinaryReader(new FileStream(path, FileMode.Open));
                //READ 3 BYTES SIGNATURE
                String sig = new String(br.ReadChars(3));
                if (String.Compare(sig, "SAH") != 0) throw new Exception("Is not a valid sah file");
               //READ 8 BYTES LONG VALUE
                long unk1 = br.ReadInt64();
                long nbFiles = br.ReadInt64();
                //READ 40 BYTES CHAR PADDING
                char[] padding = br.ReadChars(40);
                Console.Write("File signature: ");
                Console.WriteLine(sig);
                Console.WriteLine("Unk: {0}\n" +
                                  "nbFiles:{1}", unk1, nbFiles);
                br.Close();
                
                Console.ReadKey();
            }catch(IOException e){
                Console.WriteLine(e.Message);
                Console.ReadKey();
                return;
            }catch (Exception e)
            {

                Console.WriteLine(e.Message);
                Console.ReadKey();
                return;
            }
        }
    }
}
Things to consider
Byte order is Little Endian, that means that a number like 123456789 is 00 00 00 00 07 5B CD 15 in 8 bytes hexadecimal value,
but 15 CD 5B 07 00 00 00 00 in Little Endian order, so make sure your endianness matchs your file.‬
elmarcia is offline  
Old 03/08/2019, 15:06   #3
 
SCORNI's Avatar
 
elite*gold: 26
Join Date: Jun 2009
Posts: 972
Received Thanks: 228
PHP Code:
            byte[] fileData System.IO.File.ReadAllBytes(@"C:\pfadzurdatei\test.sah");
            
using (System.IO.MemoryStream ms = new System.IO.MemoryStream(fileData))
            {
                
using (System.IO.BinaryReader br = new System.IO.BinaryReader(ms))
                {
                    
byte[] signature br.ReadBytes(3);
                    
long unk1 br.ReadInt64();
                    
long nbFiles br.ReadInt64();
                    
byte[] padding br.ReadBytes(40);
                }
            } 
Jenachdem ob dein unk1 und nbFiles 4 byte oder 8byte lang ist musst du ReadInt64 mit long als datentyp oder ReadInt32 mit int als Datentyp verwenden.
SCORNI is offline  
Reply


Similar Threads Similar Threads
[PHP] HTML Datei lokal einlesen und bearbeiten
02/09/2016 - Web Development - 1 Replies
Hallo, Ich stehe gerade auf dem Schlauch. Ich versuche eine HTML Datei mittels eines PHP Scripts einzulesen und zu bearbeiten. In der HTML Datei gibt es zwei Container, "allHistory" und "sectionSection0". Am Ende des Tages möchte ich den Content dieser beiden Container angezeigt und bearbeitet haben (nur <p> Tags und Fließtext vorhanden). Kann mir da jemand unter die Arme greifen?
[C#] Variable aus Datei in Klasse einlesen
02/28/2014 - .NET Languages - 13 Replies
Hallo, vorgegeben habe ich folgenden Code: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;
[C++]Datei nach dem einlesen bearbeiten
09/19/2010 - C/C++ - 4 Replies
Die Datei einlesen läuft perfekt. Mein Code sieht derzeit so aus: http://paste-code.com/paste.php?id=7TYCbczaKE Nur hab ich keine Ahnung wie ich die Datei an meiner gewünschten Stelle ändern soll. Ich muss einfach nur eine 1 in 1,2 ändern :<



All times are GMT +1. The time now is 10:04.


Powered by vBulletin®
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2026 elitepvpers All Rights Reserved.