请教下5台电脑,同时访问共享文件问题
请教下5台电脑,同时运行程序,如何让其中1台电脑运行其它4台就不运行,{:face (327):}如此反复。我现在是读写INI文件,运行的写入1,其它就不运行,这种方法不行。。请教下有没有更好的合理的方法。。谢谢了 回复 1# ljf840212共用 文件 或者 目錄
運行的 就到那個地方寫入 或者 建立某個檔案
城市要運行前先檢查有無檔案或者資料存在 回复 2# kk_lee69
测试了,不行,还是会一起运行 你的判断逻辑写的有问题吧,或者是运行函数用的不对,请用此函数进行测试,RunWait 使用网络或服务器协调 回复 3# ljf840212
請上程式碼我不相信 不行 回复 6# kk_lee69
$dd = IniRead("\\DISKSTATION\bbin\servera.ini", "设置", "服务器", "NotFound")
If $dd = "NotFound" Then
IniWrite("\\DISKSTATION\bbin\servera.ini", "设置", "服务器", $jsj)
EndIf
还有试了几种,这种是写字段,还有检查文件是否存在的也试了,也不行。。帮看看,,该怎么搞,,谢谢啦 应该是,5台电脑同时运行,确定一台为服务器, 本帖最后由 ila 于 2017-6-1 15:34 编辑
把运行状态写进ini,结束时修改状态
根据状态来继续运行。 回复 7# ljf840212
你不需要寫入任何東西
五台 一台跑了 其他就不跑
在共用的資料夾裡面 建立一個檔案 叫做123.TXT離開時 刪除
執行程式前檢查 是否存在存在檔案 就退出就好 請上程式碼請提供完整的可以簡化但是流程邏輯要對 回复 11# kk_lee69
;$jsj就是电脑编号,分别1,2,3,4,5。5台电脑只能有1台设置为服务器,因为后续服务器的这台电脑需要计算
$dd = IniRead("\\DISKSTATION\bbin\servera.ini", "设置", "服务器", "NotFound")
If $dd = "NotFound" Then
IniWrite("\\DISKSTATION\bbin\servera.ini", "设置", "服务器", $jsj)
$zd = IniRead("\\DISKSTATION\bbin\servera.ini", "计算结果", "最大", "NotFound")
Local $fDiffb = TimerDiff($hTimerb) / 1000 + $wcb
If $zd < 3 And $fDiffb > 4 And $fDiffb < 14 Then
jsks()
EndIf
EndIf
;后续...............以上代码99%的可能5台电脑同时运行,但只能有1台做为服务器。我这种写法的话5台电脑都会被做为服务器运行。不知道能不能看明白了。。。谢谢 回复 12# ljf840212
你這邊只寫了如果 沒找到 就運行 然後寫入INI
重點不再這邊 在於你不運行的那段寫法.....
所以我說你必須要提供你的 程式 的資料..........
不然 我看 想幫妳都難 回复 12# ljf840212
你這邊只寫了如果 沒找到 就運行 然後寫入INI
重點不再這邊 在於你不運行的那段寫法.....
所以我說你必須要提供你的 程式 的資料..........
不然 我看 想幫妳都難
另外再做個 名詞定義....
如何让其中1台电脑运行其它4台就不运行
運行的意思是指執行程式 不運行 表示要退出程式....
如果 你是打算 五台電腦 都執行程式 不退出但是 只有一台要做運算...
這是不一樣的概念 請先確認好你的需要是甚麼?? 记得文件夹共享设置里面可以设置同时访问人数,可以设置为1
页:
[1]