2017-03-01 40 views
0

嗨道歉,如果這個問題沒有形成良好的堆棧溢出。 但是,我試圖以編程方式將一個非常長的字符串分配給文本框,但只有一部分字符串進入。其餘部分被切斷。VB6複製長字符串到文本框

Text1.Text = UPCSTRING 

UPCSTRING約爲319,000個字符,並且在每個70個字符之後都有換行符。 爲什麼整個字符串不顯示在文本框中? 有沒有更好的方法來做到這一點?

PS如果我debug.print UPCSTRING我的整個字符串顯示出來。

+0

你明白,一個3 MB大小的字符串對於UI文本框來說有點多少輸入?將該大小輸入文本框是非常不現實的。你究竟想要什麼?你是否設置了文本框的屬性來接受這個長度(雖然我非常確定在一個文本框中存儲3mb廢話,最大文本框大小約爲64K) – nabuchodonossor

+0

爲什麼你認爲319,000字符的字符串是3MB? --- argh我在上面的語句中敲入了一到多個零 –

+1

仍然限制爲64 KB(對於文本框) – nabuchodonossor

回答

2

MSDN Article on the VB6 Textbox,有文本的數量限制將持有:

默認情況下,你可以在文本框中輸入2048個字符。如果您將 將控件的MultiLine屬性設置爲True,則最多可以輸入32K的文本。

正如其他人所評論的那樣,對用戶來說任何大的事情都是無稽之談。

如果你堅持使用這個接口,或許切換到Rich Text Box會有幫助,因爲它沒有標準文本框的文本限制。

+0

這有點奇怪,因爲我讓用戶將數據粘貼到Text1框中。 (粘貼11位數字串,每行1個)每行11位數字串。他們粘貼在29,000行(每個有11個數字字符串)。例程,清理了29,000行。將所有換行符替換爲「,」逗號,然後將整個字符串賦給變量。 WORKS ...然後它嘗試用Text1的值替換Text1中的Text,只有一小部分回到盒子中。約5000行(當然,行已刪除)。如果它持有那麼多的文本開始...爲什麼不能相同的數額回來? –

+0

「他們粘貼了29,000行......」這是一種特殊的折磨嗎?我不確定你想要什麼樣的答案,爲什麼有些東西在VB6中的工作方式是如此。微軟在9年前放棄了對IDE的支持。他們可能不會解決它。如果您正在尋找一種方法將「清理過的」數據返回給用戶,而不是使用文本框,那麼Clipboard.SetText怎麼樣?或者將數據放入一個文件中。 –

+0

我只是指出,如果數據適合在文本框中首先它可能不是一個文本框的限制。還有其他的錯誤。除了用.net重建整個東西,你可能知道這裏發生了什麼或者如何解決它? –

0

正常的文本框不能容納最多255個字符長度。 Set Text1.Multiline = true 255字符長度以上。即使多行文本框限制爲32,000。在這種情況下,請使用富文本框。

+0

我已經啓用了多行文本框。請閱讀我的其他評論。 –

+0

它不是文本框本身的限制,還有其他錯誤。 –