ABA


"עזרה ב visual basic בכתיבת הגדרות לקובץ טקסט"
גירסת הדפסה        
קבוצות דיון פיתוח, תיכנות ובניית אתרים נושא #13748 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 13748
dorgalam
חבר מתאריך 20.11.06
19585 הודעות, דרג אמינות חבר זה
   10:50   29.11.06   
אל הפורום  
  עזרה ב visual basic בכתיבת הגדרות לקובץ טקסט  
 
   ערכתי לאחרונה בתאריך 29.11.06 בשעה 10:52 בברכה, dorgalam
 
אני מעוניין לשמור את ההגדרות של מה שבוצע בקובץ (exe) בזמן ריצה
לקובץ טקסט שלאחר מכן אני יפתח עם אותה תוכנה.
בדומה לsave במשחק מחשב. מישהו יכול לעזור לי למצוא אני מדבר
על visual basic 6 אני לא יודע בדיוק מה לחפש בmsdn..

https://img329.imageshack.us/img3
29/4057/dorgalamvx7.jpg


                                שתף        
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

  האשכול     מחבר     תאריך כתיבה     מספר  
  ככה aaBlueDragon 29.11.06 14:12 1
     הוא מדבר על 6 ואתה רשמת לו על .NET Nesher  29.11.06 18:21 3
         מכתב aaBlueDragon 29.11.06 18:34 4
  תודה ברגע שאני יצליח לפענח אני ינסה להשתמש אני קצת חדש בvb dorgalam 29.11.06 16:02 2

       
aaBlueDragon

דרג אמינות חבר זה
   14:12   29.11.06   
אל הפורום  
  1. ככה  
בתגובה להודעה מספר 0
 
   ערכתי לאחרונה בתאריך 29.11.06 בשעה 14:15 בברכה, aaBlueDragon
 
תשמע, אין פקודה מיוחדת שעושה את זה.
מה שאתה צריך לדעת זה:
-שימוש בפקודה לכתיבה לתוך קובץ טקסט (קל מאוד)
-קריאה מתוך הטקסט, וביצוע SPLIT לכל מקום.
אתה קולט את הסטרינגים שעשית מהם SPLIT לתוך הערכים של התוכנה שלך.
אני מרשה לך להשתמש בקוד מקור של התוכנה שלי (DUKONNECTOR) על מנת לבצע
את מה שאתה רוצה.

כך:
תעשה IMPORTS SYSTEM.IO
ותוסיף את הפונקציה הזאת לתוכנה שלך:


Public Function WriteTextToFile(ByVal PlaceAndName As String, ByVal WhatWrite As String, ByVal OverIt As Boolean)
Dim objWriter As New System.IO.StreamWriter(PlaceAndName, OverIt)
objWriter.Write(WhatWrite)
objWriter.Close()
Return Nothing
End Function

עכשיו הנה הדרך שבה אני עושה זאת:
כך אני שומר לתוך הקובץ:


Public Function SaveSettings()
WriteTextToFile(Application.StartupPath & "\Settings.ini", _
"This is Dukonnector's settings file." & vbCrLf & _
"all your settings are saved here." & vbCrLf & _
"if you dont know what you are doing please dont" & vbCrLf & _
"change any values because then the" & vbCrLf & _
"program might crash." & vbCrLf & _
"" & vbCrLf & _
"DukonnectorV=" & DukonnectorV & vbCrLf & _
"" & vbCrLf & _
"Player Profile:" & vbCrLf & _
"Nick Name=" & nickname & vbCrLf & _
"First Name=" & firstname & vbCrLf & _
"Last Name=" & lastname & vbCrLf & _
"Country=" & country & vbCrLf & _
"PlayMsgSound=" & PlayMsgSound & vbCrLf & _
"PlayJoinedSound=" & PlayJoinedSound & vbCrLf & _
"" & vbCrLf & _
"Directory Settings:" & vbCrLf & _
"EDuke32=" & eduke32dirstr & vbCrLf & _
"JFDuke=" & jfdukedirstr & vbCrLf & _
"Rancid Meat=" & rancidmeatdirstr & vbCrLf & _
"xDuke=" & xdukedirstr & vbCrLf & _
"UseExternalGRPDir=" & UseExternalGRPDir & vbCrLf & _
"GRPpath=" & GRPpath & vbCrLf & _
"Maps=" & mapdir & vbCrLf & _
"TCs=" & tcdir & vbCrLf & _
"" & vbCrLf & _
"Connection Settings:" & vbCrLf & _
"Mode=" & mode & vbCrLf & _
"SettingsAlwaysRenew=" & alwaysrenew & vbCrLf & _
"ExternalIP=" & userexternalip & vbCrLf & _
"LocalIP=" & userlocalip & vbCrLf & _
"ClientPort=" & userclientport & vbCrLf & _
"ServerPort=" & userserverport & vbCrLf & _
"" & vbCrLf & _
"Room Settings:" & vbCrLf & _
"RoomName=" & roomname & vbCrLf & _
"ServerGamePort=" & dukeExec & vbCrLf & _
"RoomType=" & roomtype & vbCrLf & _
"Players=" & playersam & vbCrLf & _
"GameType=" & gametype & vbCrLf & _
"Spawns=" & spawns & vbCrLf & _
"Monsters=" & monsters & vbCrLf & _
"Record=" & record & vbCrLf & _
"Connection=" & connection & vbCrLf & _
"MapType=" & maptype & vbCrLf & _
"MapName=" & mapname & vbCrLf & _
"AlwaysAdvertise=" & alwaysadv & vbCrLf & _
"" & vbCrLf & _
"Login Info:" & vbCrLf & _
"LoginType=" & logintype & vbCrLf & _
"UserName=" & UserName & vbCrLf & _
"Password=" & Password & vbCrLf & _
"" & vbCrLf & _
"Master Server Settings:" & vbCrLf & _
"msoption=" & msoption & vbCrLf & _
"mstextfile=" & mstextfile & vbCrLf & _
"msaddress=" & msaddress & vbCrLf & _
"End of file=", _
False)
Return Nothing
End Function

כך אני קורא מתוך הקובץ כאשר התוכנה נפתחת:


fileContents = My.Computer.FileSystem.ReadAllText(Application.StartupPath & "\Settings.ini")
Dim textoneline() As String
Dim linesplitted() As String
textoneline = fileContents.Split(vbCrLf)
Dim i As Integer = 0
Do
Try
linesplitted = textoneline(i).Split("=")
Catch
i += 1
Continue Do
End Try
If linesplitted(0).Chars(0) = vbLf Then
Dim splitted(2) As String
splitted = linesplitted(0).Split(vbLf)
linesplitted(0) = splitted(1)
End If
Select Case linesplitted(0)

Case "Nick Name"
nickname = linesplitted(1)
Case "First Name"
firstname = linesplitted(1)
Case "Last Name"
lastname = linesplitted(1)
Case "Country"
country = linesplitted(1)
Case "EDuke32"
eduke32dirstr = linesplitted(1)
Case "JFDuke"
jfdukedirstr = linesplitted(1)
Case "Rancid Meat"
rancidmeatdirstr = linesplitted(1)
Case "xDuke"
xdukedirstr = linesplitted(1)
Case "Maps"
mapdir = linesplitted(1)
Case "TCs"
tcdir = linesplitted(1)
Case "Mode"
mode = linesplitted(1)
Case "SettingsAlwaysRenew"
If playertype <> "CompOffline" Then
alwaysrenew = linesplitted(1)
If alwaysrenew = "True" Then
userexternalip = FindExternalIP()
userlocalip = FindLocalIP()
If userlocalip <> FindGateWayIP() Then
mode = "network"
Else
mode = "direct"
End If
ElseIf alwaysrenew = "Ex-Ip-Only" Then
userexternalip = FindExternalIP()
Else
alwaysrenew = "False"
End If
End If
Case "ExternalIP"
If alwaysrenew = "False" Then
userexternalip = linesplitted(1)
End If
Case "LocalIP"
If alwaysrenew = "False" Then
userlocalip = linesplitted(1)
End If
Case "ClientPort"
userclientport = linesplitted(1)
Case "ServerPort"
userserverport = linesplitted(1)
Case "RoomName"
roomname = linesplitted(1)
Case "ServerGamePort"
dukeExec = linesplitted(1)
Case "RoomType"
roomtype = linesplitted(1)
Case "Players"
playersam = linesplitted(1)
Case "GameType"
gametype = linesplitted(1)
Case "Spawns"
spawns = linesplitted(1)
Case "Monsters"
monsters = linesplitted(1)
Case "Record"
record = linesplitted(1)
Case "Connection"
connection = linesplitted(1)
Case "MapType"
maptype = linesplitted(1)
Case "MapName"
mapname = linesplitted(1)
Case "AlwaysAdvertise"
alwaysadv = linesplitted(1)
Case "PlayMsgSound"
PlayMsgSound = linesplitted(1)
Case "PlayJoinedSound"
PlayJoinedSound = linesplitted(1)
Case "UseExternalGRPDir"
UseExternalGRPDir = linesplitted(1)
Case "GRPpath"
GRPpath = linesplitted(1)
Case "End of file"
Exit Do
End Select
i += 1
Loop While 0 = 0

כך נראה הקובץ אליו אני שומר את הנתונים:


This is Dukonnector's settings file.
all your settings are saved here.
if you dont know what you are doing please dont
change any values because then the
program might crash.

DukonnectorV=0.61

Player Profile:
Nick Name=jjjjj
First Name=Duke
Last Name=Nukem
Country=Unknown
PlayMsgSound=True
PlayJoinedSound=True

Directory Settings:
EDuke32=C:\Games\RetexturedGames\Duke3d\EDuke32\eduke32.exe
JFDuke=
Rancid Meat=
xDuke=
UseExternalGRPDir=False
GRPpath=
Maps=c:\maps
TCs=C:\TCs

Connection Settings:
Mode=network
SettingsAlwaysRenew=True
ExternalIP=88.152.118.206
LocalIP=192.168.0.108
ClientPort=4600
ServerPort=4601

Room Settings:
RoomName=Newbie's Room
ServerGamePort=EDuke32
RoomType=internet
Players=4
GameType=DukeMatch (Spawn)
Spawns=All
Monsters=None
Record=False
Connection=Peer 2 Peer
MapType=Epmap
MapName=
AlwaysAdvertise=True

Login Info:
LoginType=Choose
UserName=
Password=

Master Server Settings:
msoption=Text
mstextfile=http://duke3d.vachu.com/msaddress.txt
msaddress=
End of file=


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Nesher  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 2.7.02
2 הודעות, 24 פידבק, 43 נקודות
   18:21   29.11.06   
אל הפורום  
  3. הוא מדבר על 6 ואתה רשמת לו על .NET  
בתגובה להודעה מספר 1
 


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
aaBlueDragon

דרג אמינות חבר זה
   18:34   29.11.06   
אל הפורום  
  4. מכתב  
בתגובה להודעה מספר 3
 
   כן הבנתי את זה אבל לא יכולתי לערוך כי עברו 45 דקות.
בכל מקרה גם בלי שהוא ישתמש בפונקציות שלי, נתתי לו הכוונה:
"מה שאתה צריך לדעת זה:
-שימוש בפקודה לכתיבה לתוך קובץ טקסט (קל מאוד)
-קריאה מתוך הטקסט, וביצוע SPLIT לכל מקום.
אתה קולט את הסטרינגים שעשית מהם SPLIT לתוך הערכים של התוכנה שלך.
אני מרשה לך להשתמש בקוד מקור של התוכנה שלי (DUKONNECTOR) על מנת לבצע
את מה שאתה רוצה."


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
dorgalam
חבר מתאריך 20.11.06
19585 הודעות, דרג אמינות חבר זה
   16:02   29.11.06   
אל הפורום  
  2. תודה ברגע שאני יצליח לפענח אני ינסה להשתמש אני קצת חדש בvb  
בתגובה להודעה מספר 0
 
  

https://img329.imageshack.us/img3
29/4057/dorgalamvx7.jpg


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

תגובה מהירה  למכתב מספר: 
 
___________________________________________________________________

___________________________________________________________________
למנהלים:  נעל | תייק בארכיון | מחק | העבר לפורום אחר | מחק תגובות | עגן אשכול
       



© כל הזכויות שמורות ל-רוטר.נט בע"מ rotter.net