2016-04-08 26 views
0

Temel olarak, formumda, girişleri beklediğinden ve giriş bittikten sonra (bu girişler özellikle harici bir kaynaktan geliyorsa) sabit bir giriş okuyucusu yapmak istiyorum.Girişlerin sona ermesi ve sadece metin kutusunun okunması bekleniyor

while (true) 
{ 
    string someString = Console.ReadLine(); 
    doSomethingWithString(someString); 
} 
: el) tarayıcı kod girişinin sonunda tarayıcı nedense bu nasıl olsa) (gerçekten emin akışı/yolun sonu olduğunu bildirir, çünkü istiyorum tam olarak nasıl çalıştığını, okunmalı

ama bir form uygulamasına nasıl temizleyeceğimi bilmiyorum.

Herhangi bir yardım için teşekkür ederiz.

+0

Tarayıcılar (sanırım) bir gönderme eğiliminde her taramadan sonra satır başı (veya benzeri). Tüm taramaları aldığınıza kadar beklemeyi mi istiyorsun ve * sadece o zaman bilgi ile bir şeyler yap. – levelonehuman

+0

Form uygulaması bir çözümde farklı bir projede mi? Çünkü bildiğim kadarıyla aynı projede ikisini alamazsın. –

+0

Bunu bir Forms uygulamasına taşımak istiyorsanız Console.ReadLine yerine System.IO.Stream kullanın. Tarayıcıların girişlerini nasıl sonlandıracağını ve onlarla iletişimi yönetmek için bir sınıf yazmayı öğrenmeniz gerekecek. –

cevap

2

böyle bir şey yapmak istiyorum, seni doğru anladıysam varsayarsak: Bu şekilde

public void SendScansToForm(string[] scans) //pass in an array (or list, or etc.) of the scanned items 
{ 
    MyForm form = new MyForm(); //Create a new instance of the form 
    form.variableToHoldScans = scans; //variable (on the form instance) to pass the scan to 
} 

, tüm taramalar okumak, sonra da forma yeni bir örneği haline geçerler. Muhtemelen, bu bir form.Open() ile takip edilebilir veya taramaları kullanıcıya gösterir veya gerekli olan her şeyi yapmak için gerektiğinde değiştirebilir.

DÜZENLEME:

Anlaşılan anlamadım; Geçerli kodu formlara bağlamak isterseniz, System.IO.Stream'u (yorumlarda belirtildiği gibi) kullanabilirsiniz. Ayrıca, belgesinin tarayıcının bir girişi sonlandırmasını belirlemeniz gerekir. Bu,, \r vb. Bir dönüş karakteriyle veya başka bir yöntemle ve farklı tarayıcı modelleriyle olası değişikliklerle olabilir. Bir tarayıcıdan giriş okumak için

, bunu girişini sonlandırmak için geçiyordu ne karakter belirlemek gerekir: yorumlardan Ek bilgi -

DÜZENLEME 2. Benim sınırlı deneyimime göre, bu carriage return, line feed, enter veya benzeri bir şey olmalıdır.

Bu belirlendikten sonra, geldikleri gibi her taramayı işlemek için izin, bu karakterin varlığını davranan bir yöntem uygulamak için önemsiz olmalıdır.

+0

Bunun "sabit giriş okuyucusu" ile kastedilenin olduğunu düşünmüyorum. Formun açık olduğunu ve konsol giriş akışını sürekli olarak izlediğimi ve her seferinde bir şey geldiğinde formdaki girdiyle bir şeyler yapabileceğini varsayabilirim. Fakat yanılıyor olabilirim, belki de OP bu konuda biraz ışık tutabilirdi. –

+0

@FrankJ yea, sanırım sorunun tam anlamıyla bir araya gelmedim - şu anda mevcut olanlara ek girdi sağlamak zor; en kötü durum, eğer çok uzak-off ise cevabı silerim. – levelonehuman

+0

Ne yazık ki, hayır, aslında tam bir girişi (tarayıcı giriş akışı sona erene kadar) ve daha sonra giriş (bir tek tarama) ile bir şey yapmak için formu (veya içinde bir öğe) için beklemek istiyorum. Aksini söyleyene kadar bunu yapmaya devam etmek. –