Один простой способ - использовать это как main ():
<STAThread()> Public Shared Sub Main()
splash = New frmSplash
splash.Show()
' Your startup code goes here...
UpdateSplashAndLogMessage("Startup part 1 done...")
' ... and more as needed...
splash.Hide()
Application.Run(myMainForm)
End Sub
Когда .NET CLR запускает ваше приложение, он создает «основной» поток и начинает выполнение вашего основного () по этой теме. Application.Run (myMainForm) в конце делает две вещи:
Нет необходимости запускать нить, чтобы заботиться о всплывающем окне, и на самом деле это плохая идея, потому что тогда вам придется использовать поточно-безопасные методы для обновления содержимого всплеска из main ().
Если вам нужно другие темы для фоновых операций в вашем приложении, вы можете создать их из main (). Не забудьте установить Thread.IsBackground в значение True, чтобы они погибли, когда поток main / GUI завершился. В противном случае вам придется договориться о завершении всех ваших других потоков самостоятельно или они будут поддерживать ваше приложение в живых (но без графического интерфейса), когда основной поток завершается.
Soundex является 'очень английским' в, он кодирует - Daitch-Mokotoff работает лучше на многие имена, особенно европейские (германские) и еврейские имена. В моем британско-центральном мире это - то, что я использую.
Wiki здесь .
@aku - ссылки на работу soundex библиотеки тут же внизу страницы.
Что касается расстояния Левенштейна, статье Wikipedia о том также перечислили реализации в нижней части.
File.join('C:', 'Users', 'Charles', 'blahblah')
или даже File.dirname(__FILE__)
, который добавит папку того, где Ваш текущий файл расположен к пути загрузки. dirname
, вероятно, лучше, так как это позволит Вам переместить файл и все еще работать.
– Charles Caldwell
31 May 2013 в 13:23
Lucene очень scalable— что означает его пользу для небольших приложений также. Можно создать индекс в памяти очень быстро, если это - все, в чем Вы нуждаетесь.
Для нечеткого поиска, действительно необходимо решить, какой алгоритм требуется использовать. С информационным поиском я использую n-грамма техника с Lucene успешно. Но это - специальный метод индексации, не "библиотека" сам по себе.
, не зная больше о Вашем приложении, не будет легко рекомендовать подходящую библиотеку. Сколько данных Вы ищете? Какой формат является данными? Как часто данные обновляются?
Если можно принять решение использовать базу данных, я рекомендую использовать PostgreSQL и нечеткие функции сопоставления строк .
, Если можно использовать Ruby, я предлагаю изучить amatch библиотека .
Вы не указали вашу платформу разработки, но если ее PHP, то предлагаем вам взглянуть на ZEND Lucene lubrary :
http://ifacethoughts.net/2008/02/07/zend-brings-lucene-to-php/ http://framework.zend.com/manual/en/zend.search.lucene.html
Так как он LAMP намного легче Lucene на Java, и может быть легко расширен для других типов файлов, при условии, что вы можете найти библиотеку преобразования или преобразователь строк cmd - существует множество OSS-решений для этого.
.