Home php c# sql c c++ javascript python java go android git linux asp.net django .net node.js ios xcode cocoa iphone mysql tomcat mongodb bash objective-c scala visual-studio apache elasticsearch jar eclipse jquery ruby-on-rails ruby rubygems android-studio spring lua sqlite emacs ubuntu perl docker swift amazon-web-services svn html ajax xml java-ee maven intellij-idea rvm macos unix css ipad postgresql css3 json windows-server vue.js typescript oracle hibernate internet-explorer github tensorflow laravel symfony redis html5 google-app-engine nginx firefox sqlalchemy lucene erlang flask vim solr webview facebook zend-framework virtualenv nosql ide twitter safari flutter bundle phonegap centos Register | Login | Edit Tags | New Questions | 繁体 | 简体


10 questions online user: 21

0
votes
answers
8 views
+10

幫助編碼基於文本框輸入的消息框

0

我正在Visual Studio 2015中使用Visual Basic構建一個應用程序,其中用戶在文本框中輸入數字或字母;但是,當文本框中輸入字母並按下某個按鈕時,我需要一個消息框彈出並說:「請輸入一個五位數字。」我知道我可以使用KeyPress命令來製作它,因此它只接受數字,但在這種情況下,我需要按下按鈕時彈出消息框。我不確定如何編寫應用程序以接受數字輸入,同時按下按鈕時用消息框回覆字母輸入。任何幫助將不勝感激。幫助編碼基於文本框輸入的消息框

沙发
0
0

編輯:對不起,第二次閱讀後,我覺得我更好理解。

任何按鍵後,將輸入字段的字符串值拆分爲數組。

循環訪問數組,每次檢查數值是否爲數值。在視覺基礎上,它可能與IsNumeric(),但C#沒有它,我認爲。在這種情況下,使用此作爲您的ISNumeric功能:

public bool IsNumeric(string value) 
{ 
    return value.All(char.IsNumber); 
} 

EDIT2:在你的情況下,你甚至不需要循環。只需通過IsNumeric()函數檢查整個輸入。但是,檢查它是否也適用於前導0。如果沒有,請按照我的建議使用循環。

+0

雖然價值的長度不會幫助我區分字母和數字,是嗎? – CCataldi

+0

或者你可以做到這一點,即使沒有循環,我相信:) –

0
votes
answers
7 views
+10

如何在Xamarin上啓動項目?

1

安裝win10,安裝了Visual Studio + Xamarin。我創建Xamarin論壇項目,並嘗試在Android上運行:如何在Xamarin上啓動項目?

enter image description here

Серьезность Код Описание Файл Строка Состояние подавления Ошибка error: package android.support.v7.internal.widget.ActivityChooserModel does not exist android.support.v7.internal.widget.ActivityChooserModel.OnChooseActivityListener c:UsersMKDocumentsVisual Studio 2015ProjectsApp2App2App2.DroidobjDebugandroidsrcmonoandroidsupportv7internalwidgetActivityChooserModel_OnChooseActivityListenerImplementor.java 8
Ошибка error: package android.support.v7.internal.widget does not exist public boolean onChooseActivity (android.support.v7.internal.widget.ActivityChooserModel p0, android.content.Intent p1) c:UsersMKDocumentsVisual Studio 2015ProjectsApp2App2App2.DroidobjDebugandroidsrcmonoandroidsupportv7internalwidgetActivityChooserModel_OnChooseActivityListenerImplementor.java 28
Ошибка error: package android.support.v7.internal.widget does not exist private native boolean n_onChooseActivity (android.support.v7.internal.widget.ActivityChooserModel p0, android.content.Intent p1); c:UsersMKDocumentsVisual Studio 2015ProjectsApp2App2App2.DroidobjDebugandroidsrcmonoandroidsupportv7internalwidgetActivityChooserModel_OnChooseActivityListenerImplementor.java 33
Ошибка error: package android.support.v7.internal.widget.FitWindowsViewGroup does not exist android.support.v7.internal.widget.FitWindowsViewGroup.OnFitSystemWindowsListener c:UsersMKDocumentsVisual Studio 2015ProjectsApp2App2App2.DroidobjDebugandroidsrcmonoandroidsupportv7internalwidgetFitWindowsViewGroup_OnFitSystemWindowsListenerImplementor.java 8
Ошибка error: package android.support.v7.internal.widget.ViewStubCompat does not exist android.support.v7.internal.widget.ViewStubCompat.OnInflateListener c:UsersMKDocumentsVisual Studio 2015ProjectsApp2App2App2.DroidobjDebugandroidsrcmonoandroidsupportv7internalwidgetViewStubCompat_OnInflateListenerImplementor.java 8
Ошибка error: package android.support.v7.internal.widget does not exist public void onInflate (android.support.v7.internal.widget.ViewStubCompat p0, android.view.View p1) c:UsersMKDocumentsVisual Studio 2015ProjectsApp2App2App2.DroidobjDebugandroidsrcmonoandroidsupportv7internalwidgetViewStubCompat_OnInflateListenerImplementor.java 28
Ошибка error: package android.support.v7.internal.widget does not exist private native void n_onInflate (android.support.v7.internal.widget.ViewStubCompat p0, android.view.View p1); c:UsersMKDocumentsVisual Studio 2015ProjectsApp2App2App2.DroidobjDebugandroidsrcmonoandroidsupportv7internalwidgetViewStubCompat_OnInflateListenerImplementor.java 33
Предупреждение Не найден компонент "System.ObjectModel", на который указывает ссылка.
Предупреждение An unexpected error occurred trying to initialize Android Designer. Please verify the Android SDK path and the Java Development Kit path on Tools->Options->Xamarin->Android Settings menu. Please see the logs for more details. 0

如何正確地開始?

+0

有關Xamarin的相關信息Android JDK Android SDK和JDK的其他用戶指南針對Android SDK和JDK。 Внимательнеечитайрепортыобошибках –

沙发
0
1

我無法正確讀取錯誤,但看起來您缺少軟件包?

你是否遵循了Xamarin Android setup guide的所有步驟?

板凳
0
1

我會從處理錯誤的結尾開始: 「錯誤信息嘗試初始化Android設計器時出現意外錯誤請驗證Tools SDK的路徑和Java開發工具包路徑在Tools-> Options-> Xamarin- > Android設置菜單,請參閱日誌以獲取更多詳細信息0「

即檢查(如果需要,請設置)Android SDK路徑和JDK路徑。

在Visual Studio中,它位於工具>選項> Xamarin> Android設置下。我不記得必須設置任何環境/路徑變量,我知道Android Studio曾經需要路徑中的東西,但我認爲Visual Studio/Xamarin沒有要求它們,或者它們已經設置好,所以它沒有需要問。

地板
0
0

從錯誤日誌中,Xamarin表單包可能沒有完全安裝在您的本地機器上。一些軟件包丟失。要解決此問題,請嘗試以下步驟:

  1. 關閉所有Visual Studio實例。
  2. 重定向到C: Users UserName AppData Local 文件夾。
  3. 重命名或刪除Xamarin文件夾
  4. 用VS打開你的解決方案,重建項目。
  5. 等到VS完成下載所有軟件包。這將需要幾分鐘時間取決於您的本地網絡。
0
votes
answers
7 views
+10

爲靜態方法獲取內存超出範圍例外

0

我得到Memory Out of Range例外,用於比較兩個jpeg文件的靜態方法。爲靜態方法獲取內存超出範圍例外

我能不過來識別我的代碼部分使用分析器佔用了大部分的內存,我不能釋放內存,即使我嘗試GC.Collect的()

public static bool IsDuplicate(string newFile, string pathDestination) 
{ 
    string[] destinationFiles = Directory.GetFiles(pathDestination); // 1100 jpeg files. 
    foreach (var file in destinationFiles) 
    { 
     if (CompareImageFiles(newFile, file)) 
      return true; 
    } 
    return false; 
} 

//1100 jpeg files (pathFile2) being compared with one jpeg file (pathFile1) 
public static bool CompareImageFiles(string pathFile1, string pathFile2) 
{ 
    // Memory consumption around 1 GB by ms 
    MemoryStream ms = new MemoryStream(); 
    // Memory consumption around 2.7 GB by img1 
    System.Drawing.Image img1 = System.Drawing.Image.FromFile(pathFile1); 

    // Memory consumption around 3 GB by img2 
    System.Drawing.Image img2 = System.Drawing.Image.FromFile(pathFile2); 
    if (!(img1.Height == img2.Height && img1.Width == img2.Width)) 
    { 
     return false; // Dimensions mismatch 
    } 
    else 
    { 
     img1.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg); 
     string image1 = Convert.ToBase64String(ms.ToArray()); 
     img2.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg); 
     string image2 = Convert.ToBase64String(ms.ToArray()); 
     if (image1.Equals(image2)) 
     { 
      // This didn't work 
      //ms = null; img1 = null; img2 = null; image1 = null; image2 = null; 
      return true; 
     } 
     else 
     { 
      // This didn't work 
      //ms = null; img1 = null; img2 = null; image1 = null; image2 = null; 
      return false; 
     } 
    } 
} 

小背景:是的,我明白這不是比較圖像文件的最佳方法(我第一次嘗試處理圖像文件)。我已經開始了此任務的新優化版本(進行中)。

但是,由於該解決方案自過去幾個月開始運作並且最近開始破產。所以,在我將這種方法歸檔之前,至少我想解決這個問題,這給了我一個很好的學習。

+5

如何第一比較文件 - 大小來處理處理?然後你散列這些文件並比較散列 - 如果它們不同,它們在內部也是不同的。不需要這個圖像的東西?那麼你應該做的更快,更多的資源友好。 –

+1

您的應用程序正在泄漏。任何實現Dispose方法的東西都必須在你完成後處理掉。 – Plutonix

+0

試試這個:https://stackoverflow.com/a/16318177/7505395 –

沙发
0
4

你應該,或者通過將它們放置在一個using陳述或通過手動調用Dispose()當你與他們進行處置您的Image實例和存儲流:

public static bool CompareImageFiles(string pathFile1, string pathFile2) 
{ 
    using (var ms = new MemoryStream()) 
    using (var img1 = System.Drawing.Image.FromFile(pathFile1)) 
    using (var img2 = System.Drawing.Image.FromFile(pathFile2)) 
    { 
     // Rest of your code... 
    } 
} 
+2

要補充,通常使用「使用」是首選的方式,因爲它也處理適當的處置,以防發生異常情況。只有在不能使用「使用」或Dispose方法/終結器時才應直接調用Dispose。 – ckuri

0
votes
answers
7 views
+10

Sandcastle幫助文件生成器項目沒有顯示在Visual Studio 2017企業

0

我從https://github.com/EWSoftware/SHFB/releases安裝SHFBInstaller_v2017.5.15.0.zip。在完成引導安裝後,我啓動了Visual Studio,打開了一個已經存在的C#控制檯應用程序,當我去添加一個新項目到解決方案時,沒有列出Sandcastle Help File Builder項目。下面是我可以在Visual Studio中看到的選項:Sandcastle幫助文件生成器項目沒有顯示在Visual Studio 2017企業

enter image description here

我重新啓動我的電腦,看看是否會解決什麼,但事實並非如此。我不知道爲什麼我遇到這個問題。我之前使用過沙堡,沒有遇到過這種情況。任何幫助是極大的讚賞。

沙发
0
1

該項目位於文檔類別中。 Visual C#類別用於C#編碼項目,Sandcastle文檔不是。

0
votes
answers
7 views
+10

Visual Studio Mac,簽署的Android版本比當前版本更舊

1

我正在使用Visual Studio mac開發Xamarin,最近我發佈了我的Android應用程序,但發生了罕見的行爲!發佈應用程序彈出了兩個文件app.apkapp-Signed.apk,我認爲第二個應該是我應該上傳到Google Play store(我是對吧?),但是在我的設備上打開它之後,我發現在調試應用程序中出現了很多變化不存在於Singned之一!而app.apk適用於我應用於應用的更改。Visual Studio Mac,簽署的Android版本比當前版本更舊

  1. app.apk在調試模式?
  2. 什麼應該是app-Signed.apk以及爲什麼它有這個問題,我該如何解決它(如果答案#1是真的)?
+0

您是否執行了Archive/Sign - Distribute來創建XXX.apk,或者只是在Release配置上執行構建? – SushiHangover

+0

詛咒我爲發佈過程執行存檔 – AlirezaXX

+0

然後,您不應該在名稱中擁有帶'Signed'的apk,您應該以包名稱命名的輸出文件夾中最終有一個apk(或者更多,如果您正在拆分ABI) (和ABI如果分裂),即'com.sushihangover.MovieMadness-arm64-v8a.apk' – SushiHangover

沙发
0
2

有時Visual Studio Mac出於某種原因會這樣做。從項目目錄中刪除obj和bin文件夾,然後再次構建。如果這再次發生(2個文件),你需要上傳到谷歌的奇怪的事情發揮沒有簽名的。

+0

刪除'obj'和'bin'解決了這個問題,謝謝。 – AlirezaXX

0
votes
answers
6 views
+10

的Visual Studio的Python殼牌

0

快速的問題。我爲什麼最新版本的Visual Studio爲交互式Python終端提供了選項卡而煩惱不已。以及調試終端,所有內置於可以咬合的標籤中。但是,當我附上&試運行的東西,它只是打開了CMD正常蟒蛇終端渲染VS內置終端沒用。我只是想爲什麼哈哈。他們從未得到使用。有沒有辦法在內置的交互式終端中測試運行腳本,而不是打開Python shell?的Visual Studio的Python殼牌

沙发
0
0

您可以瞭解更多關於此功能here,它只是用的是Visual Studio中的便利另一REPL。編輯還有一些有趣的連接,您可以將選定的代碼行發送到交互式窗口。我不知道如何劃定範圍變量兩者的工作原理,但有時你只是想將其集成到一個運行的Python文件之前在REPL實驗。

我主要是把Immediate Window當我在Visual Studio開發使用一段互動探索編碼。這是作用到目前的斷點設置,這是很好的在飛行操縱的東西,讓我的變量並沒有什麼意見。

0
votes
answers
6 views
+10

如何將一個EntityID分配給Akka.NET中的一個分片的實體?

-1

我不明白,當你在一個ShardRegion創建一個新的演員如何ID是分配的,我一直在尋找通過這個例子如何將一個EntityID分配給Akka.NET中的一個分片的實體?

https://github.com/akkadotnet/akka.net/tree/dev/src/examples/Cluster/ClusterSharding/ClusterSharding.Node

如果某人有一個更清晰的多的例子,將是巨大的。

沙发
0
0

所有以sharded actor(實體)爲目標的消息都必須經過負責實體的givent類型的shard區域。一個碎片區域可以初始化這樣的:

var sharding = ClusterSharding.Get(system); 
var shardRegion = sharding.Start(
    typeName: nameof(MyActor), 
    entityProps: Props.Create<MyActor>(), // the Props used to create entities 
    settings: ClusterShardingSettings.Create(system), 
    messageExtractor: messageExtractor 
); 

爲了正確地將消息路由到實體,碎片區域必須能夠提取碎片-ID和實體的實體ID和碎片,它屬於。這是一個messageExtractor對象的作業(它必須實現IMessageExtractor接口)。

這裏的常見模式是創建一個專用信封,用於將實際消息路由到實體。在下面你可以看到一個例子 - shard id沒有被明確地提供,而是從實體id的模數最大的shards數量中計算出來的(這個值一旦被選中就不能改變)。

public sealed class ShardEnvelope 
{ 
    public readonly string EntityId; 
    public readonly object Payload; 

    public ShardEnvelope(string entityId, object payload) 
    { 
     EntityId = entityId; 
     Payload = payload; 
    } 
} 

public sealed class MessageExtractor : HashCodeMessageExtractor 
{ 
    public MessageExtractor(int maxNumberOfShards) : base(maxNumberOfShards) { } 
    public override string EntityId(object message) => 
     (message as ShardEnvelope)?.EntityId; 
    public override object EntityMessage(object message) => 
     (message as ShardEnvelope)?.Payload; 
} 

現在,當實體的生命週期完全由集羣分片管理,並在羣集內的實際定位可以隨時間變化(由於再平衡),給定的羣集節點內的相對路徑始終保持不變,並符合下列模式:

/user/sharding/<typeName>/<shard-id>/<entity-id> 

這意味着,如果要提取實體ID和當前演員的碎片-ID,您可以直接從演員的路徑做到這一點:

var entityId = Self.Path.Name; 
var shardId = Self.Path.Parent.Name; 
0
votes
answers
6 views
+10

VSCode黑屏

1
  • VSCode版本:1.19.0
  • OS版本:視窗10 1709(16299.125)
  • 轉載沒有擴展:是

沒有辦法安裝1.19.0更新後打開VSCode。它總是啓動空白屏幕並在調試控制檯中打印2條錯誤消息。VSCode黑屏

index.js:5 TypeError: Cannot read property 'comments' of null 
    at file:///C:/Program Files/Microsoft VS Code/resources/app/out/vs/workbench/workbench.main.js:2920:762 
    at Array.forEach (native) 
    at e.setCustomTokenColors (file:///C:/Program Files/Microsoft VS Code/resources/app/out/vs/workbench/workbench.main.js:2920:735) 
    at new e (file:///C:/Program Files/Microsoft VS Code/resources/app/out/vs/workbench/workbench.main.js:2927:679) 
    at t.create (file:///C:/Program Files/Microsoft VS Code/resources/app/out/vs/workbench/workbench.main.js:90:103) 
    at e._createInstance (file:///C:/Program Files/Microsoft VS Code/resources/app/out/vs/workbench/workbench.main.js:1209:289) 
    at e.createInstance (file:///C:/Program Files/Microsoft VS Code/resources/app/out/vs/workbench/workbench.main.js:1208:560) 
    at e.initServiceCollection (file:///C:/Program Files/Microsoft VS Code/resources/app/out/vs/workbench/workbench.main.js:4516:741) 
    at e.createContents (file:///C:/Program Files/Microsoft VS Code/resources/app/out/vs/workbench/workbench.main.js:4511:118) 
    at e.open (file:///C:/Program Files/Microsoft VS Code/resources/app/out/vs/workbench/workbench.main.js:4518:113) 
onError @ index.js:5 

我試圖重新安裝vscode或啓動它沒有擴展名 - 相同的結果。

更重要的是,我得到的Linux虛擬機上的同一個問題:

  • VSCode版本:1.19.0
  • OS版本:Ubuntu的17.10 64

    index.js:41 TypeError:無法在Array.forEach文件中讀取屬性'註釋'null at file:///usr/share/code/resources/app/out/vs/workbench/workbench.main.js:2920:762 at Array.forEach(native) e.setCustom上的 TokenColors(file:///usr/share/code/resources/app/out/vs/workbench/workbench.main.js:2920:735) at new e(file:/// usr/share/code/resources /app/out/vs/workbench/workbench.main.js:2927:679) at t.create(file:///usr/share/code/resources/app/out/vs/workbench/workbench.main。 js:90:103) at e.createInstance(file:///usr/share/code/resources/app/out/vs/workbench/workbench.main.js:1209:289) at e.createInstance(file :///usr/share/code/resources/app/out/vs/workbench/workbench.main.js:1208:560) at e.initServiceCollection(file:/// usr/share/code/resources/app /out/vs/workbench/workbench.main.js:4516:741) at e.createContents(file:///usr/share/code/resources/app/out/vs/workbench/workbench.main.js: 4511:118) at e.open(file:/// usr/share/code/resources/app/out/vs/workbench/work bench.main.js:4518:113)

沙发
0
0

這似乎是同樣的問題,因爲#40339,已經被固定在VSCode的主分支。該問題的里程碑(2017年11月恢復)表明它將成爲1.19.1補丁版本的一部分。

現在,它看起來像你可以通過設置editor.tokenColorCustomization{}source)解決此問題:

Can you check if you have editor.tokenColorCustomizations set to null in your settings file (you can find it at ~/Library/Application Support/Code/User/settings.json). If yes, then set it to {} instead and then try opening VS Code.

+0

所以,我唯一的選擇是等待,直到12月22日或這個問題可以以某種方式固定? – hell03end

+0

您是否嘗試瞭解決方法? – Gama11

+0

將'editor.tokenColorCustomizations'從'null'更改爲'{}'後,問題似乎就解決了。謝謝! – hell03end

0
votes
answers
6 views
+10

如何一次在一個解決方案中的多個項目中編寫代碼? [Visual Studio/Xamarin]

0

我有一個解決方案,我有多個項目。現在我有3個不同的.sln文件,我已經連接到他們自己的.csproj,並且當我想與其中一個應用程序一起工作時,我只是啓動特定的.sln文件並且它工作得很好。我現在唯一的問題是這3個項目共享大量的代碼,所以我希望創建一個解決方案,我可以在其中一個項目中編寫代碼,其中的代碼也可以寫入其他項目中。它們共享相同的文件,文件名等。唯一的區別就是圖像,圖標等。當我做了一些快速的研究時,我發現了這個報價:如何一次在一個解決方案中的多個項目中編寫代碼? [Visual Studio/Xamarin]

「一個項目可以被多個解決方案引用。將你的庫或核心代碼放到一個項目中,然後在兩個解決方案中引用該項目。「

我想在每個.csproj文件和.stl文件中都需要進行一些其他參考/調整?

我腦子裏想的是,當編寫新代碼時,那個文件應該用更新的代碼覆蓋其他項目中的同一個文件。如何解決這個問題是我不知道的。

任何代碼示例,提示,技巧,指導非常感謝。

沙发
0
0

如何一次在一個解決方案中的多個項目中編寫代碼? [Visual Studio/Xamarin]

您可以創建項目以包含共享的代碼噸,然後將此項目添加到其他解決方案。然後,當編寫新代碼時,該文件應該用更新的代碼覆蓋來自其他項目的相同文件。

爲了實現這一點,請檢查下面的測試樣品的細節:

  1. 與共享代碼與下面的代碼創建一個項目,例如,ShareProject

    public void test() 
    { 
        System.Console.Write("This is only for Test update1"); 
    } 
    
  2. 創建一個解決方法1, Add - >existing project ...,選擇ShareProject

  3. 創建解決方案2,Addexisting project ...,選擇ShareProject

  4. 更新代碼在shareProject

enter image description here

通過此設置,當新的代碼寫入則該文件應覆蓋從更新的代碼的其他項目相同的文件。

0
votes
answers
6 views
+10

ReactJS在VS代碼

0

格式化我使用ReactJS教程hereReactJS在VS代碼

我用> code .開在VS代碼項目版本1.18。 後,我創建了一個文件index.js,然後添加代碼給出:

class Square extends React.Component { 
    render() { 
    return (
     <button className="square"> 
     {/* TODO */} 
     </button> 
    ); 
    } 
} 

當我按下Ctrl-S保存,VS代碼執行以下操作:

class Square extends React.Component { 
    render() { 
    return (document.render() < button className = "square" > { /* TODO */ } < 
    /button> 
    ); 
    } 
} 

注:更改到<button>。 所有的代碼被重新格式化。 我檢查了VS代碼的格式 - 它是錯誤的。 智能感知工作正常。 我還使用"jsx": "react"在我的src文件夾中添加了jsconfig.json。 VS代碼真的不可用,或者我錯過了什麼?

+0

https://stackoverflow.com/questions/45115112/how-to-prevent-insert-spaces-in-jsx-code –

沙发
0
0

我不確定如何更改VSCode中的默認格式規則(您可能無法)。

我建議使用Prettier作爲代碼格式化程序。工作得非常好,並且可以讓您對代碼的格式設置有很多控制權。它也可以綁定到eslint。

請參閱this article on medium for instructions以獲取有關如何設置漂亮和eslint的說明。