2014-11-21 95 views
1

好的,所以這裏是我所擁有的,我爲我的團隊創建了一個儀表板界面來簡化過去的手動過程。這裏輸入的所有信息都需要傳遞。現在,.exe是獨立的,可以通過共享驅動器被所有團隊成員訪問。稱它爲驅動器s保存到共享驅動器exe

團隊成員創建了s:/dashboard.exe的快捷方式,並且從同一儀表板中拉出了所有快捷方式(使我更容易簡化更新)..今天,我實現了一個我認爲正在執行的功能比它更順利。我創建使用My.Settings

它看起來像這樣

Private Sub HandoffToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs) Handles HandoffToolStripMenuItem.Click My.Settings.SaveIncident = IncidentBox.Text My.Settings.SaveNumber = IncidentNum.Text My.Settings.SaveOpened = OpenedCall.CheckState My.Settings.SaveAnnounced = AnnouncedIC.CheckState My.Settings.SaveImpact = ImpactReport.CheckState My.Settings.SaveOC = OCBox.CheckState My.Settings.SaveSent = CheckBox6.CheckState My.Settings.SaveExec = CheckBox3.CheckState My.Settings.SaveCFAM = CBCFAM.CheckState My.Settings.SaveCFEC = CBCFEC.CheckState My.Settings.SaveCCMC = CBCCMC.CheckState My.Settings.SaveCORE = CBCORE.CheckState My.Settings.SaveFEIN = CBFEIN.CheckState My.Settings.SaveFORE = CBFORE.CheckState My.Settings.SaveFRAN = CBFRANK.CheckState My.Settings.SaveGLEN = CBGLEN.CheckState My.Settings.SaveHUNT = CBHUNT.CheckState My.Settings.SaveLENO = CBLENO.CheckState My.Settings.SaveLIJM = CBLIJ.CheckState My.Settings.SaveLIJB = CBBED.CheckState My.Settings.SaveNSUH = CBNSUH.CheckState My.Settings.SavePlAI = CBPLAI.CheckState My.Settings.SaveSOUT = CBSOUT.CheckState My.Settings.SaveSIUHN = CBSIUN.CheckState My.Settings.SaveSIUHS = CBSIUS.CheckState My.Settings.SaveSYOS = CBSYOS.CheckState My.Settings.SaveZUCK = CBZUCK.CheckState My.Settings.SaveLIHO = CBLIJH.CheckState My.Settings.SavePANS = CBMEDI.CheckState My.Settings.SaveMembers = CallMembers.Text My.Settings.SaveTRIGM = Minute.Text My.Settings.SaveTRIGS = Seconds.Text My.Settings.SaveBRIDM = BM.Text My.Settings.SaveBRIDS = BS.Text My.Settings.SaveEXECM = EM.Text My.Settings.SaveEXECS = ES.Text My.Settings.SaveTimeline = TimeLine.Text Me.Close() End Sub

是爲保存代碼保存功能

這裏我們把它放回變量

Private Sub Dashboard_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load Me.ToolTip1.SetToolTip(Me.CTOText, "Clicking this will send a text to the CTO") Me.ToolTip1.SetToolTip(Me.resolveText, "This will send a resolution text") Me.ToolTip1.SetToolTip(Me.SMSBtn, "This will send a text to SLBackupAlert") Me.ToolTip1.SetToolTip(Me.Complete, "This will output an e-mail timeline to the IC") Me.ToolTip1.SetToolTip(Me.LdrBTN, "This will populate regional directors based on sites selected") 'Handoff' IncidentBox.Text = My.Settings.SaveIncident IncidentNum.Text = My.Settings.SaveNumber OpenedCall.CheckState = My.Settings.SaveOpened AnnouncedIC.CheckState = My.Settings.SaveAnnounced ImpactReport.CheckState = My.Settings.SaveImpact OCBox.CheckState = My.Settings.SaveOC CheckBox6.CheckState = My.Settings.SaveSent CheckBox3.CheckState = My.Settings.SaveExec CBCFAM.CheckState = My.Settings.SaveCFAM CBCFEC.CheckState = My.Settings.SaveCFEC CBCCMC.CheckState = My.Settings.SaveCCMC CBCORE.CheckState = My.Settings.SaveCORE CBFEIN.CheckState = My.Settings.SaveFEIN CBFORE.CheckState = My.Settings.SaveFORE CBFRANK.CheckState = My.Settings.SaveFRAN CBGLEN.CheckState = My.Settings.SaveGLEN CBHUNT.CheckState = My.Settings.SaveHUNT CBLENO.CheckState = My.Settings.SaveLENO CBLIJ.CheckState = My.Settings.SaveLIJM CBBED.CheckState = My.Settings.SaveLIJB CBNSUH.CheckState = My.Settings.SaveNSUH CBPLAI.CheckState = My.Settings.SavePlAI CBSOUT.CheckState = My.Settings.SaveSOUT CBSIUN.CheckState = My.Settings.SaveSIUHN CBSIUS.CheckState = My.Settings.SaveSIUHS CBSYOS.CheckState = My.Settings.SaveSYOS CBZUCK.CheckState = My.Settings.SaveZUCK CBLIJH.CheckState = My.Settings.SaveLIHO CBMEDI.CheckState = My.Settings.SavePANS CallMembers.Text = My.Settings.SaveMembers Minute.Text = My.Settings.SaveTRIGM Seconds.Text = My.Settings.SaveTRIGS BM.Text = My.Settings.SaveBRIDM BS.Text = My.Settings.SaveBRIDS EM.Text = My.Settings.SaveEXECM ES.Text = My.Settings.SaveEXECS TimeLine.Text = My.Settings.SaveTimeline

一旦我拉出變量,它在我的機器上完美地工作,當我抓住我的儀表板它將有變量,如果保存正確..但我認爲這是保存到.exe,所以當任何人打開s:/dashboard.exe時,他們會拉最近的副本,任何人都保存..相反,它是拉他們最最近保存的副本,即使它是共享驅動器。

是否有任何方法可以將此文件保存到.exe中,以便訪問共享驅動器中的文件的任何人都可以獲取相同的信息?

基本上,如果用戶1將其保存在用戶1的計算機上,我希望用戶2能夠使用用戶1的數據從s:/ drive中獲取它。

在此先感謝。

+1

您需要使用其他一些I/O機制專門將其寫入您的驅動器。 'Settings'類只允許在用戶級寫入設置,這些設置會保存在本地用戶文件夾中。 – 2014-11-21 13:41:52

回答

0

正如@詹姆斯提到的,'my.setting'不適合這個地方。我喜歡做的是使用數據表將它們編寫爲XML。

<!-- language: lang-vb --> 
'Declare a DataTable public to your application 
Public MySettings As New DataTable 

'On load of your form or application, load the existing setting if they exist 
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load 
    'If you don't supply a full path for your file, the path will be the same as your EXE. 
    If System.IO.File.Exists("MySettings.xml") Then 
     'File exists, read from it 
     MySettings.ReadXml("MySettings.xml") 
    Else 
     'File does not exist, define it here 
     'Create the schema for the table 
     MySettings.Columns.Add(New DataColumn("SaveIncident", GetType(String))) 
     MySettings.Columns.Add(New DataColumn("SaveNumber", GetType(String))) 
     'Create you one record 
     MySettings.Rows.Add(MySettings.NewRow) 
     'Set Default values 
     MySettings.Rows(0)("SaveIncident") = "" 
     MySettings.Rows(0)("SaveNumber") = "" 
     'You may want to save it so it is out there now 
     'MySettings.WriteXml("MySettings.xml") 
    End If 
    'Set your variables if you want to use them 
    With MySettings.Rows(0) 
     IncidentBox.Text = .Item("SaveIncident") 
     IncidentNum.Text = .Item("SaveNumber") 

    End With 
End Sub 
'Here the settings are being saved on close of the form but you should do this through a save button or something. 
Private Sub Form1_FormClosing(sender As Object, e As FormClosingEventArgs) Handles Me.FormClosing 
    With MySettings.Rows(0) 
     .Item("SaveIncident") = IncidentBox.Text 
     .Item("SaveNumber") = IncidentNum.Text 
    End With 
    MySettings.WriteXml("MySettings.xml") 
End Sub 

注意:這不是多用戶友好的。最後保存的人將覆蓋其他人的更改。這應該只用於很少改變的事情。

此外,使用此方法,您可以像記事本一樣打開XML並對其進行編輯。所以你可以改變設置而不必打開exe。

+0

我明白你在廣泛地獲得什麼,但是你能否應用我提供的代碼給我一個關於如何導出這些設置的更好的想法?我希望它將所有這些內容寫入XML並將其保存在S驅動器上,以便其他用戶可以將其選中並在必要時最終重寫XML文件。它本質上是通過共享驅動器將表單數據傳輸給其他用戶。我試圖轉移的所有變量都列在上面的最初位置。 – Bobby 2014-11-24 11:26:01

+0

我改變了一點,所以它有2個變量名。這應該讓你開始。 – Steve 2014-11-24 15:22:46

+0

史蒂夫我只是有點難度realiizing其餘的將去..你開始一個名爲SaveIncident和SaveNumber列,但這將意味着每個設置將獲得一列,如果它真的是列SaveName和SaveAttribute SaveName是名稱whats bieng保存IE SaveIncident和SaveAttribute是文本框,如Incidentbox.text – Bobby 2014-11-25 11:23:59