導航:首頁 > 編程知識 > 多人合作編程時如何分享程序

多人合作編程時如何分享程序

發布時間:2023-02-07 07:07:19

微信共享表格怎樣實現多人編輯

步驟如下:
1、首先,打開Excel表格,在工具欄點擊「審閱」——「工作共享簿」。

2、點擊表格左上角「文件」,

3、點擊左邊列表中「選項」。

4、點擊左邊列表中的「信任中心」。

5、然後點擊「信任中心設置」。

6、點擊「個人信息選項」,將「保存時從文件屬性中刪除個人信息」取消勾選,點擊「確定」

7、再次點擊「審閱」,點擊「工作共享簿」彈出一個對話框,點擊「編輯」欄,勾選「允許多用戶同時編輯。

8、設置完成,表格的最上方出現「共享」字樣即可。

拓展資料
騰訊文檔,直接在線編輯、雲保存,不用擔心內容丟失;還可以多人協作編輯。 不需要下載,不需要注冊帳號,有qq和微信號就可以直接登錄網頁版,可以邀請QQ、微信好友一起編輯。

堅果雲在線編輯功能: 兼容Office格式 文件加密存儲,免去後顧之憂 自動保存,無需擔心斷電、瀏覽器閃退 支持多人同時編輯,讓辦公更加方便 無需導入導出,輕松打開保存在雲上的文件 可靈活設置分享許可權,分享出去的文件更加安全。

❷ 多種編程語言共同實現一個軟體,之間是如何連接的

如果是傳統的編譯型軟體,他們都生成本機代碼庫,然後就可以互相調用了(從二進制層面上看,所有的語言生成的都是機器碼(加一些定位信息),也就是同質的東西). 對於想.NET,java之類的也是一樣,不同的是所有的程序生成中間碼,然後由語言虛擬機執行,(從虛擬機角度看,他們生成的是均質的,可以互相調用) . 當然還有其他一些共享方法,例如通過服務/OLE/等等方式

❸ 求教編程做出一個兩人多人之間簡單的聊天程序

製作人: CK.y ,匯成建築企業管理Q:610089144
僅供參考,大家要學會自己製作,很有成就感的啊!! 用 Java 作後台,開發一個 C / S 架構的多人聊天程序。首先,設計用戶界面。

一、界面設計

界面的元件全部使用 Flash CS3 自帶的組件:
首先,放入 TextInput 組件(實例名 input_txt),作為用戶輸入;
再放入 Button 組件(實例名 submit_btn),用於提交輸入的信息;
最後放入 TextArea 組件(實例名 output_txt),顯示聊天信息。

二、組件參數初始化
由於客戶端代碼不是很多,我們這次就寫在動作幀上:
// ************ 組件參數初始化 ************
submit_btn.label = "發送消息";
output_txt.editable = false;

// 設置各組件中字體的大小
input_txt.setStyle("textFormat", new TextFormat(null, 15));
output_txt.setStyle("textFormat", new TextFormat(null, 15));
submit_btn.setStyle("textFormat", new TextFormat(null, 15, null, true));

// 當按下回車或點擊 submit_btn 按鈕後調用事件處理函數
submit_btn.addEventListener(MouseEvent.CLICK, sendMessage);
addEventListener(KeyboardEvent.KEY_DOWN, onKeyDown);

// 事件處理函數
function onKeyDown(evt:KeyboardEvent):void {
if (evt.keyCode == Keyboard.ENTER) {
sendMessage(null);
}
}

function sendMessage(evt:Event):void {
// 測試:將 input_txt 的內容輸出到 output_txt 中
output_txt.appendText(input_txt.text + "\n");

// 清空 input_txt,並設置焦點到 input_txt
input_txt.text = "";
stage.focus = input_txt;
}

三、編寫客戶端 Socket
1. 首先,Socket 連接非常簡單:
var socket:Socket = new Socket();
socket.connect("127.0.0.1", 8888);
其中 connect() 方法中的兩個參數分別為是主機名和埠號(埠號盡量用 1024 以上)。好了,這樣就連接上了。接下來是讀寫的問題。

2. 向伺服器端寫入字元串:我們在 sendMessage() 方法中進行寫入操作,注意寫出的字串必需以回車(\n)結束:
function sendMessage(evt:Event):void {
var bytes:ByteArray = new ByteArray();
bytes.writeUTFBytes(input_txt.text + "\n");
socket.writeBytes(bytes);
socket.flush();

// 清空 input_txt,並設置焦點到 input_txt
input_txt.text = "";
stage.focus = input_txt;
}

3. 讀取伺服器端寫回的字元串:最後將伺服器發回的字元串輸出到 output_txt 文本域中:
// 當客戶端 socket 收到數據後會調用 readMessage() 函數
socket.addEventListener(ProgressEvent.SOCKET_DATA, readMessage);

function readMessage(evt:ProgressEvent):void {
output_txt.appendText(socket.readUTF() + "\n");
}

四、Flash 客戶端全部腳本
// ************ 組件參數初始化 ************
submit_btn.label = "發送消息";
output_txt.editable = false;

input_txt.setStyle("textFormat", new TextFormat(null, 15));
output_txt.setStyle("textFormat", new TextFormat(null, 15));
submit_btn.setStyle("textFormat", new TextFormat(null, 15, null, true));

submit_btn.addEventListener(MouseEvent.CLICK, sendMessage);
addEventListener(KeyboardEvent.KEY_DOWN, onKeyDown);

function onKeyDown(evt:KeyboardEvent):void {
if (evt.keyCode == Keyboard.ENTER) {
sendMessage(null);
}
}

function sendMessage(evt:Event):void {
var bytes:ByteArray = new ByteArray();
bytes.writeUTFBytes(input_txt.text + "\n");
socket.writeBytes(bytes);
socket.flush();

input_txt.text = "";
stage.focus = input_txt;
}

// ************ 客戶端 Socket ************
var socket:Socket = new Socket();
socket.connect("127.0.0.1", 8888);
socket.addEventListener(ProgressEvent.SOCKET_DATA, readMessage);

function readMessage(evt:ProgressEvent):void {
output_txt.appendText(socket.readUTF() + "\n");
}

五、編寫 Java 伺服器端 Socket
最後,我們需要編寫 Java 後台伺服器端的代碼。
首先,創建一個 ServerSocket 作為Socket 伺服器。當有客戶端連接後通過 accept() 方法即可得到客戶端的 Socket:

ServerSocket socketServer = new ServerSocket(8888);
System.out.println("伺服器已啟動,等待客戶端連接");

// accept() 方法是阻塞式的,當有客戶端連接成功後才繼續執行
Socket socket = socketServer.accept();
System.out.println("客戶端連接成功");

然後得到與客戶端的輸入流和輸出流(輸入流是客戶端連接到伺服器的管道,輸出流則是伺服器到客戶端的管道):
// 獲得輸入流和輸出流,輸入流為 BufferedReader 類型,輸出流為 DataOutputStream 類型
BufferedReader reader =
new BufferedReader(new InputStreamReader(socket.getInputStream(), "UTF-8"));
DataOutputStream writer = new DataOutputStream(socket.getOutputStream());

拿到輸入輸出流以後,就可以通過輸入流(InputStream)讀取 Flash 客戶端發來的字元串,通過輸出流(OutputStream)向 Flash 客戶端寫字元串:
while (true) {
// readLine() 方法也是阻塞式的,當客戶端有消息發來就讀取,否則就一直等待
String msg = reader.readLine();

// 當客戶端發送的字元串為 null 時,說明客戶端已經關閉,此時退出循環
if (msg == null) {
System.out.println("客戶端已離開");
break;
}

// 將讀入的信息加工後再寫回客戶端
writer.writeUTF("寫回客戶端的" + msg);
}

以上是ServerSocket 與 AS 3 Socket 通信的基本原理。在實際應用中,會有多個客戶端連接這個ServerSocket,因此要創建一個多線程的 Socket 伺服器。
下面簡述一下多線程 Socket 伺服器原理:當socketServer.accept() 之後就需要實例化一個線程對象,在該對象中持有socketServer.accept() 返回的 Socket 對象,然後讓線程跑起來執行讀寫操作。如果再來一個客戶端就再跑一個線程,同樣執行讀寫操作。同時,用一個 List 容器來管理這些對象。
最終伺服器端的代碼如下:
import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

public class FlashScoket {
private List<Client> clientList = new ArrayList<Client>();

public static void main(String[] args) {
new FlashScoket().runSocket();
}

private void runSocket() {
try {
ServerSocket socketServer = new ServerSocket(8888);
System.out.println("伺服器已啟動,等待客戶端連接");

while (true) {
// accept() 方法是阻塞式的,當有客戶端連接成功後才繼續執行
Socket socket = socketServer.accept();
System.out.println("客戶端連接成功");

// 實例化一個 Client 對象,並啟動該線程
Client client = new Client(socket);
clientList.add(client);
client.start();
}
} catch (IOException e) {
e.printStackTrace();
}
}

class Client extends Thread {
private Socket socket;

private BufferedReader reader;
private DataOutputStream writer;

private Client(Socket socket) {
this.socket = socket;
try {
// 獲得輸入流和輸出流,輸入流為 BufferedReader 類型,輸出流為 DataOutputStream 類型
reader = new BufferedReader(new InputStreamReader(socket.getInputStream(), "UTF-8"));
writer = new DataOutputStream(socket.getOutputStream());
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}

@Override
public void run() {
try {
while (true) {
// readLine() 方法也是阻塞式的,當客戶端有消息發來就讀取,否則就一直等待
String msg = reader.readLine();

// 當客戶端發送的字元串為 null 時,說明客戶端已經關閉,此時退出循環
if (msg == null) {
clientList.remove(this);
System.out.println("客戶端已離開");
break;
}

// 將讀入的內容寫給每個客戶端
for (Iterator<Client> it = clientList.iterator(); it.hasNext();) {
Client client = it.next();
client.getWriter().writeUTF(msg);
}
}
} catch (IOException e) {
e.printStackTrace();
} finally {
// 關閉 socket 及相關資源
try {
if (reader != null) {
reader.close();
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (writer != null) {
writer.close();
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (socket != null) {
socket.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}

public DataOutputStream getWriter() {
return writer;
}
}
}

六、補充技術
1. 如何測試?
* 首先要編譯FlashScoket —— javac FlashScoket
* 然後啟動FlashScoket —— java FlashScoket
* 最後將 Flash 發布為 exe 文件格式,同時開啟多個即可。

2. 自動跟蹤到最後一行:當收到新的消息時自動滾動到最後一行,在 readMessage() 方法中加入:
output_txt.verticalScrollBar.scrollPosition = output_txt.verticalScrollBar.maxScrollPosition;

3. 當出現輸入/輸出錯誤並導致發送或載入操作失敗時提示用戶,加入對IO_ERROR 的偵聽:
socket.addEventListener(IOErrorEvent.IO_ERROR, socketIOError);
function socketIOError(evt:IOErrorEvent):void {
output_txt.appendText("伺服器端尚未開啟,請稍後再試\n");
}

4. 在sendMessage() 中加入對空字元串的驗證,如果為空則 return:
if (input_txt.text == "") {
return;
}

5. 在消息前面顯示用戶名:大家可以製作一個登錄頁面,輸入用戶名,假設已將輸入的用戶名存放在 userName 變數中,在寫入時加進去:
var userName:String = "FL 車在臣";
在 sendMessage() 中相應改為:
bytes.writeUTFBytes(userName + " : " + input_txt.text + "\n");

6. 使用output_txt .htmlText 輸出文字,那麼相應的寫入格式可以調整為:
bytes.writeUTFBytes("<font color='#0000FF'>" + userName + " : </font>" + input_txt.text + "\n");

❹ 協同合作更加高效,excel多人如何同時編輯

放棄吧,EXCEL共享限制太多,EXCEL多人同時編輯不咋樣

❺ Excel 請問,多人如何協作寫代碼

excel不是專門的編程語言,無此功能。可規劃好各功能塊,最後合到一起調試。

❻ 多人同時編寫大型PLC程序, 應該如何進行 又如何管理

多人編寫程序主要問題在於程序段的劃分,各功能塊的任務是什麼,再規劃各功能塊的輸入輸出介面。要先編制好統一的介面才能保證各人的程序能在一起工作。

❼ 微信里的小程序怎麼轉發別人

打開手機微信,進入微信首頁,點擊頁面下方的「發現」,進入微信的發專現頁。進入微信的屬發現頁後,點擊「小程序」,進入微信小程序頁面。如果發現頁沒有小程序,需要在微信設置里的找到通用,通用里找到發現頁管理,來打開小程序。在微信小程序頁面,點擊我們想要轉發的小程序,進入該小程序頁面。進入想要轉發的小程序中,點擊頁面右上角的「...」,頁面下方出現對應的操作功能選項,我們點擊「轉發」。點擊轉發後,進入選擇聯系人頁面,選擇我們想要發給的微信好友,點擊好友頭像名稱,頁面提示「發送給:......」,點擊「發送」。

❽ wps生成表格如何分享給別人不是鏈接而是可以多人編輯小程序

在線編輯是很高級的功能
只有大廠才能做
也就是說你需要依賴於大廠的服務
比如說微信官方就有個小程序支持多人合作編輯表格
還有比如微軟、谷歌的在線文檔分享等

閱讀全文

與多人合作編程時如何分享程序相關的資料

熱點內容
linux賬戶設置密碼 瀏覽:69
查看資料庫各表記錄數 瀏覽:968
linux查看文件的行數 瀏覽:692
fpga約束文件如何自動生成 瀏覽:377
linux打開的文件數 瀏覽:973
win8修改公用網路 瀏覽:324
linuxlcrt 瀏覽:30
編程里res是什麼意思 瀏覽:616
dm80082版本固件 瀏覽:37
蘋果手機用什麼可以打開psd文件 瀏覽:627
服務號和小程序的區別 瀏覽:888
360手機助手qq文件位置 瀏覽:693
如何學習數碼編程 瀏覽:60
微信消息發布出去 瀏覽:377
windows文件名一個個消失 瀏覽:907
易語言設置文件所有者 瀏覽:197
iphone手機如何顯示wifi密碼 瀏覽:880
文山大數據 瀏覽:496
3dsrxtools怎麼升級 瀏覽:903
樂高的機器人編程是用什麼 瀏覽:542

友情鏈接