AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi .dat Datei in TListbox anzeigen und Einträge verändern
Thema durchsuchen
Ansicht
Themen-Optionen

.dat Datei in TListbox anzeigen und Einträge verändern

Ein Thema von Serpentine · begonnen am 3. Okt 2008 · letzter Beitrag vom 5. Okt 2008
Antwort Antwort
Serpentine

Registriert seit: 1. Sep 2007
32 Beiträge
 
Delphi 2005 Personal
 
#1

.dat Datei in TListbox anzeigen und Einträge verändern

  Alt 3. Okt 2008, 15:16
Datenbank: .dat • Version: kA • Zugriff über: Spiel
Ich habe in einem anderen Forum bereits einen Quelcode gefunden, leider in AutoIt.
Es wäre sehr nett wenn mir jemand diesen in Delphi übersetzen würde, also nur die Funktionen zum lesen und schreiben, oder anhand der angehängten Datei eine eigene Prozedur schreibt.
Danke

Hier der AutoIt Code:

Code:
#include <GUIConstantsEx.au3>
#Include <String.au3>
#Include <Array.au3>

GUICreate("Blocks", 300, 200)
$list = GUICtrlCreateList("", 10, 10, 130, 180)
$add = GUICtrlCreateButton("Add", 150, 10, 40)
$input = GUICtrlCreateInput("NewBlock", 200, 11, 85, 23)
$delete = GUICtrlCreateButton("Delete from List", 150, 50, 136)
$save = GUICtrlCreateButton("Save", 150, 160, 136)
GUISetState()
read()
Do   
$msg = GUIGetMsg()
   If $msg = $add Then
      $new = GUICtrlRead($input)
      _ArrayAdd($block, $new)
      GUICtrlSetData($list, "")
      For $i=1 To UBound($block)-1
         GUICtrlSetData($list, $block[$i])
      Next
   EndIf
   If $msg = $delete Then
      $selected = GUICtrlRead($list)
      $number = _ArraySearch($block, $selected, 0, 0, 0, 1)
      _ArrayDelete($block, $number)
      GUICtrlSetData($list, "")
      For $i=1 To UBound($block)-1
         GUICtrlSetData($list, $block[$i])
      Next
   EndIf
   If $msg = $save Then
      write()
   EndIf
Until $msg = $GUI_EVENT_CLOSE

Func read()
$file = FileOpen(@ScriptDir&"\Setting\SRChattingBlockingList.dat", 4)
$start = FileRead($file, 4)
$number = Dec(StringTrimLeft(String(FileRead($file, 1)), 2))
$shit = FileRead($file, 3)
Global $block[$number+1]
For $i=1 To $number
   $chars = Dec(StringTrimLeft(String(FileRead($file, 1)), 2))
   $block[$i] = _HexToString(StringTrimLeft(String(FileRead($file, $chars)), 2))
   GUICtrlSetData($list, $block[$i])
Next
FileClose($file)
EndFunc

Func write()
$file = FileOpen(@ScriptDir&"\Setting\SRChattingBlockingList.dat", 18)
FileWrite($file, 0x1)
FileWrite($file, UBound($block)-1)
For $i=1 To UBound($block)-1
   FileWrite($file, BinaryMid("0x"&Hex(StringLen($block[$i])),4,4))
   FileWrite($file, $block[$i])
Next
FileClose($file)
EndFunc

.dat Datei ist angehängt
Angehängte Dateien
Dateityp: zip srchattingblockinglist.dat_966.zip (300 Bytes, 6x aufgerufen)
  Mit Zitat antworten Zitat
Serpentine

Registriert seit: 1. Sep 2007
32 Beiträge
 
Delphi 2005 Personal
 
#2

Re: .dat Datei in TListbox anzeigen und Einträge verändern

  Alt 4. Okt 2008, 11:38
Weiß hierrauf denn keiner eine Antwort?
  Mit Zitat antworten Zitat
Benutzerbild von freak4fun
freak4fun

Registriert seit: 22. Sep 2004
Ort: Hannover
1.807 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#3

Re: .dat Datei in TListbox anzeigen und Einträge verändern

  Alt 4. Okt 2008, 15:13
.dat-Dateien können ja sonst wie aufgebaut sein. Wenn du den Aufbau kennst hilft dir vielelicht das =dat]hier weiter.
Christian
IT: Schließen Sie bitte das Fenster. User: Die Tür auch?
i++; // zaehler i um 1 erhoehen
  Mit Zitat antworten Zitat
Serpentine

Registriert seit: 1. Sep 2007
32 Beiträge
 
Delphi 2005 Personal
 
#4

Re: .dat Datei in TListbox anzeigen und Einträge verändern

  Alt 4. Okt 2008, 16:01
Schönes Tutorial hilft mir aber leider nicht weiter, da die Datei einen mir unbekannten Aufbau hat.
  Mit Zitat antworten Zitat
Benutzerbild von freak4fun
freak4fun

Registriert seit: 22. Sep 2004
Ort: Hannover
1.807 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#5

Re: .dat Datei in TListbox anzeigen und Einträge verändern

  Alt 4. Okt 2008, 16:28
Zitat von Serpentine:
... da die Datei einen mir unbekannten Aufbau hat.
Dann würde ich mich an den Autor wenden, falls bekannt.
Christian
IT: Schließen Sie bitte das Fenster. User: Die Tür auch?
i++; // zaehler i um 1 erhoehen
  Mit Zitat antworten Zitat
Serpentine

Registriert seit: 1. Sep 2007
32 Beiträge
 
Delphi 2005 Personal
 
#6

Re: .dat Datei in TListbox anzeigen und Einträge verändern

  Alt 5. Okt 2008, 11:20
Glaub kaum dass ich von Joymax Co., Ltd. eine Antwort bekomme ^^
Kann jemand den AutoIt Sourcecode in Delphi übersetzen?
  Mit Zitat antworten Zitat
Benutzerbild von freak4fun
freak4fun

Registriert seit: 22. Sep 2004
Ort: Hannover
1.807 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#7

Re: .dat Datei in TListbox anzeigen und Einträge verändern

  Alt 5. Okt 2008, 11:49
Habs von 'nem Kumpel compelieren lassen.

Änderung:

Code:
If Not FileExists("SRChattingBlockingList.dat") Then
  MsgBox(0, 'Error', '"SRChattingBlockingList.dat" not found.')
  Exit
EndIf
Das heißt: Beide Dateien müssen im gleichem verzeichnis liegen.

Edit: In der Datei stehen geblockte Spieler (Spammbots). Mit der Dateu kann man die Liste bearbeiten.
Angehängte Dateien
Dateityp: exe dat_auslesen_940.exe (342,0 KB, 8x aufgerufen)
Christian
IT: Schließen Sie bitte das Fenster. User: Die Tür auch?
i++; // zaehler i um 1 erhoehen
  Mit Zitat antworten Zitat
Benutzerbild von gizzy
gizzy

Registriert seit: 3. Jun 2007
59 Beiträge
 
Delphi 2007 Enterprise
 
#8

Re: .dat Datei in TListbox anzeigen und Einträge verändern

  Alt 5. Okt 2008, 19:09
Ich würde die Datei mir mal in einem Hexeditor ansehen.
Arbeite mit TFileStream, so kannst du dort Hexadezimale Delimiter einsetzen oder erkennen.
David
[Fehler] Unit1.pas(1): Dein Kaffee ist kalt.
[Fehler] Unit1.pas(2): Dein linker großer Zeh ist eingeschlafen.
[Fataler Fehler] Projekt1.dpr(5): Verwendete Unit "Unit1.pas" kann nicht comiliert werden.
  Mit Zitat antworten Zitat
Benutzerbild von freak4fun
freak4fun

Registriert seit: 22. Sep 2004
Ort: Hannover
1.807 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#9

Re: .dat Datei in TListbox anzeigen und Einträge verändern

  Alt 5. Okt 2008, 19:15
Crosspost
Christian
IT: Schließen Sie bitte das Fenster. User: Die Tür auch?
i++; // zaehler i um 1 erhoehen
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:24 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz