Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Как проверить существование файла без расширения ?



Как проверить существование файла без расширения ?
2015-05-22 14:00 dr.monstr
Всем привет!!!

Мне нужно узнать существует ли файл по указанному пути, по стандарту использовал
File.Exists();
. Файл он не находит, так как он пытается зайти еще в одну папку, а это уже файл.

Мой путь "D:\\АЗН\\22.05.2015\\651997f\\651997f", последний "651997f" это файл. Подскажите как решить такую задачку

Антипиратский закон впервые применили в отношении музыки
2015-05-22 14:40

Мосгорсуд по требованию дочерних компаний Warner Music Russia постановил удалить песни группы Artik & Asti с торрент-треккера Rutracker и сайта «Простоплеер». Это первый случай подобного применения антипиратского закона после вступления в силу новых поправок, отмечает «Коммерсантъ».



RE: Как проверить существование файла без расширения ?
2015-05-22 14:48 dr.monstr
Все, я разобрался. File.Exists() работает, это у меня в другом месте недоработка.


Как вывести счетчик в Label на ProgressBar?
2015-05-23 22:48 Федор
Здравствуйте!
Столкнулся с досадной мелочью и очень нуждаюсь в подсказке.
В основной форме сканируется директория и найденные файлы вносятся в ListViev. Файлов порядка 5000 и, естественно, потребовалась индикация данного процесса. Я создал в другой форме ProgressBar и поместил там еще и Label для цифрового отображения хода выполнения задачи.
ProgressBar вызывается из первой формы и графический ползунок нормально все отображает, даже без подключения Таймера. А на Label отображается только белая полоска. Не видно даже исходного текста: "Загружено файлов:".
Искал решение проблемы везде, но нигде ничего не нашел. На Ютубе масса роликов, показывающих как сделать сам ProgressBar. И нет ни одного, чтобы показывал практическую работу при копировании файлов или в других подобных случаях.
Пробовал подключать Таймер. В этом случае сначала показывается форма с ProgressBar, на которой ничего не происходит. И только после завершения работы основной процедуры можно увидеть еще один экземпляр этой формы, но уже работающий от Таймера.

Заранее благодарен за подсказку и направление на верный путь.

RE: Как вывести счетчик в Label на ProgressBar?
2015-05-23 23:01 Алексей Немиро
Нужно процесс копирования выполняется в потоке и периодически менять progress.

Может чуть позже покажу пример.

RE: Как вывести счетчик в Label на ProgressBar?
2015-05-24 02:39 Федор
Спасибо, Алексей!
Т.е. нужно разделить потоки?
Честно говоря, я в этом пока мало понимаю.

RE: Как вывести счетчик в Label на ProgressBar?
2015-05-24 17:17 Алексей Немиро
Файлы проекта во вложении.

Основная форма:
Imports System.Threading 'класс Thread находится в этом пространстве имен

Public Class Form1

  Private _Progress As ProgressForm = Nothing

  Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
    'создаем поток
    Dim t As New Thread(AddressOf MyTask)
    'создаем и показываем форму
    _Progress = New ProgressForm()
    _Progress.Owner = Me 'текущая форма является родителем
    _Progress.Show()
    'запускаем поток
    t.Start()
  End Sub

  ''' <summary>
  ''' Метод, который будет выполняться в потоке.
  ''' </summary>
  Private Sub MyTask()
    'здесь можно поместить код продолжительной задачи
    'я просто сделаю код с паузами, чтобы было видно, что все работает
    For i As Integer = 0 To 100
      'устанавливаем значение в label и меняем progress
      Me.SetProgressData(String.Format("Выполнено на {0}%", i), i)
      'делаем паузу, замораживая текущий поток
      'при этом сами формы будут работать нормально (не будут подвисать)
      Thread.Sleep(3000)
    Next
  End Sub

  ''' <summary>
  ''' Меняет значение label и progressValue в форме.
  ''' </summary>
  ''' <param name="title"></param>
  ''' <param name="value"></param>
  Private Sub SetProgressData(title As String, value As Integer)
    'если мы находим не в своем потоке
    If Me.InvokeRequired Then
      'возвращаемся в свой поток
      Me.Invoke(New Action(Of String, Integer)(AddressOf Me.SetProgressData), title, value)
      'New Action(Of String, Integer)
      'соответствует параметрам метода:
      'SetProgressData(title As String, value As Integer)
      'первый параметр - title As String, второй - value As Integer
      'поэтому: New Action(Of String, Integer)
      Return
    End If

    'теперь мы в своем потоке, и можем внести изменения в форму
    _Progress.Title = title
    _Progress.Value = value
  End Sub

End Class
Форма вывода процесса выполнения задачи:
Public Class ProgressForm

  ''' <summary>
  ''' Возвращает или задает текст для Label.
  ''' </summary>
  Public Property Title As String
    Get
      Return Label1.Text
    End Get
    Set(value As String)
      Label1.Text = value
    End Set
  End Property

  ''' <summary>
  ''' Возвращает или задает значение для ProgressBar.
  ''' </summary>
  Public Property Value As Integer
    Get
      Return ProgressBar1.Value
    End Get
    Set(value As Integer)
      ProgressBar1.Value = value
    End Set
  End Property

End Class


RE: Как вывести счетчик в Label на ProgressBar?
2015-05-24 18:54 Федор
Алексей, большое спасибо!
Буду вникать и пробовать.

RE: Как вывести счетчик в Label на ProgressBar?
2015-05-24 20:35 Федор
Опробовал. Все работает!
Еще раз большое спасибо за помощь!

Российские компании создали собственную вычислительную платформу
2015-05-25 15:30

Российские компаний разработали российскую конвергентную платформу, которая позволит создавать центры обработки данных различного назначения. Основное отличие системы от западных аналогов — отсутствие «закладок» для слежения за пользователями в связи с российским производством большинства компонентов.



Путин постановил создать государственный сегмент интернета
2015-05-25 15:30

Президент России Владимир Путин подписал указ о преобразовании международного сегмента интернета для органов власти, подведомственных ФСО, в российский. Подключение информационных систем через российский государственный сегмент сети будет осуществляться по защищенным каналам передачи данных.



RE: Как вывести счетчик в Label на ProgressBar?
2015-05-26 18:03 Федор
Здравствуйте, Алексей!
"Уникальным" методом проб и ошибок главная цель была достигнута:
- на основной форме ListView заполняется именами файлов, считанными из директории;
- на второй форме работает прогрессбар и в Label отображается подсчет занесенных имен.

Но вот что я обнаружил при тестировании, которое проводил на директории, содержащей более 4500 файлов:
1. В случае разделения потоков, на обработку директории уходит значительно больше времени, чем при однопоточном варианте. И это даже если таймаут процесса выставлен на "0".
2. При уменьшении времени приостановки потока увеличивается мельтешение в панели ListView.
3. Если перед началом работы по заполнению ListView очистить его командой ListView.Clear(), то программа зависает.

Я, конечно, многого не знаю и вполне допускаю, что эти мои проблемы не стоят выеденного яйца. И уже давно существуют готовые решения, позволяющие их нейтрализовать.

Пользуясь случаем, еще раз благодарю Вас за оказанную помощь.

RE: Как вывести счетчик в Label на ProgressBar?
2015-05-26 21:00 Алексей Немиро
1. В случае разделения потоков, на обработку директории уходит значительно больше времени, чем при однопоточном варианте.
Визуализация требует жертв, как раз таких

Если сократить визуализацию, то будет работать быстрее.
Например, можно делать обновление процесса выполнения задачи не каждый шаг, а каждый десятый шаг (оптимальный размер периода зависит от общего числа шагов; если 5 000 файлов, то можно обновлять один раз из 100).

If (ТекущийШаг Mod 100) = 0 Then 'или (ТекущийШаг Mod 5) = 0,  (ТекущийШаг Mod 10) = 0 и т.п.
 'обновляем прогресс
End If
2. При уменьшении времени приостановки потока увеличивается мельтешение в панели ListView.
ListView в момент наполнения лучше не перерисовать. Сделать его невидимым, или Enabled = False. Будет быстрее работать.
3. Если перед началом работы по заполнению ListView очистить его командой ListView.Clear(), то программа зависает.
От кода зависит. Очистка в потоке, или в форме? Другие потоки не наполняют список в этот момент?
При первой сессии, или при повторных запусках, после анализа одной директории?

С потоками относительно сложно работать, имеются подводные камни.

RE: Как вывести счетчик в Label на ProgressBar?
2015-05-26 23:24 Федор
Визуализация требует жертв, как раз таких
Да, я так и думал. За все приходится чем-то платить...
ListView в момент наполнения лучше не перерисовать. Сделать его невидимым, или Enabled = False
Попробовал... Вид программы становится совсем унылый.
1. Очистка в потоке, или в форме? 2. Другие потоки не наполняют список в этот момент?
3. При первой сессии, или при повторных запусках, после анализа одной директории?
1. Кажется в форме. Не уверен...
2. Других потоков нет. Я сделал отдельный маленький проект и эксперементирую с ним.
3. При повторных запусках.

Алексей, простите, но я прикрепил здесь этот проект и лелею надежду, что когда у вас выдастся свободная минутка, вы на него глянете опытным взглядом и тыкнете меня в мои "перлы" программирования.

Не работает код игры быки и коровы
2015-05-27 09:56 93li1206
Добрый день. У меня 8 винда и vb6, код игры быки и коровы, размещенный на вашем сайте не идет( выдает вот какую ошибку: compile error: expected: end of statement

RE: Не работает код игры быки и коровы
2015-05-27 14:36 Алексей Немиро
compile error: expected: end of statement
Ошибка в синтаксисе. Видимо не хватает завершающего оператора.

LG анонсировала флагманский смартфон в России
2015-05-27 14:37

Компания LG официально анонсировала флагманский смартфон G4 в России. На сайте ритейлера «Связной» предзаказы на LG G4 Dual принимаются по 43 тысячи рублей. Главное изменение в дизайне LG G4 — съемная крышка, покрытая кожей, или белая керамическая задняя панель с трехмерным узором.



RE: Не работает код игры быки и коровы
2015-05-27 15:47 93li1206
Я просто вообще не шарю в этом деле( если бы вы разобрались, я была бы признательна..
вот код:

001
VERSION 5.00
002
Begin VB.Form Form1
003
Caption = "Быки и коровы"
004
ClientHeight = 3120
005
ClientLeft = 120
006
ClientTop = 450
007
ClientWidth = 4920
008
LinkTopic = "Form1"
009
ScaleHeight = 3120
010
ScaleWidth = 4920
011
StartUpPosition = 3 'Windows Default
012
Begin VB.Frame Frame1
013
Caption = "Правила игры"
014
Height = 1935
015
Left = 2160
016
TabIndex = 7
017
Top = 0
018
Width = 2655
019
Begin VB.TextBox Text1
020
Height = 1575
021
Left = 120
022
Locked = -1 'True
023
MultiLine = -1 'True
024
ScrollBars = 2 'Vertical
025
TabIndex = 8
026
Text = "Bulls&Cows.frx":0000
027
Top = 240
028
Width = 2415
029
End
030
End
031
Begin VB.CommandButton restart
032
Caption = "Перезагадать"
033
Height = 495
034
Left = 0
035
TabIndex = 6
036
Top = 1560
037
Width = 2055
038
End
039
Begin VB.CommandButton show
040
Caption = "Показать"
041
Height = 255
042
Left = 0
043
TabIndex = 5
044
Top = 480
045
Width = 2055
046
End
047
Begin VB.TextBox Text2go
048
Height = 405
049
Left = 0
050
MaxLength = 5
051
TabIndex = 2
052
Top = 720
053
Width = 2055
054
End
055
Begin VB.TextBox log
056
Height = 975
057
Left = 0
058
Locked = -1 'True
059
MultiLine = -1 'True
060
ScrollBars = 2 'Vertical
061
TabIndex = 1
062
Top = 2040
063
Width = 4815
064
End
065
Begin VB.CommandButton BtnGo
066
Caption = "Проверить"
067
Height = 495
068
Left = 0
069
TabIndex = 0
070
Top = 1080
071
Width = 2055
072
End
073
Begin VB.Label complabel
074
AutoSize = -1 'True
075
Caption = "*****"
076
Height = 195
077
Left = 600
078
TabIndex = 4
079
Top = 240
080
Width = 300
081
End
082
Begin VB.Label Label1
083
AutoSize = -1 'True
084
Caption = "Компьютер загадал число"
085
Height = 195
086
Left = 0
087
TabIndex = 3
088
Top = 0
089
Width = 2010
090
End
091
End
092
Attribute VB_Name = "Form1"
093
Attribute VB_GlobalNameSpace = False
094
Attribute VB_Creatable = False
095
Attribute VB_PredeclaredId = True
096
Attribute VB_Exposed = False
097
Dim doo As Integer 'до скольки
098
Dim ot As Integer 'от скольки
099

100
Dim compstr As String 'строка содержит в себе задуманное компом число
101
Dim Bull As Integer ' кол-во быков
102
Dim Cow As Integer 'кол-во коров
103
Dim CowName As String 'для красоты отображения
104
Dim BullName As String 'тоже самое
105
Dim current As String 'текущая цифра
106
Dim curpos As Integer 'текущая позиция
107
Dim curcomppos As Integer 'позиция у компа
108
Public Sub Random()
109
Randomize 'рандом
110
ot = 1111
111
doo = 9999
112
Randstr = Int((doo - ot + 1) * Rnd + ot) 'генирирует 4-х значное число тк 5-ти уже слишком много ему
113
compstr = Randstr & Int(Rnd() * 9) 'совмещаем randstr и случайное число от 0 до 9
114
complabel.Caption = "*****" 'скрываем число
115
End Sub
116

117
Private Sub FindBullCow(ByVal UserString As String)
118
'ищем
119
' MsgBox InStr(1, "где ищем", "что ищем") 'вернет 0 если строка не найдена если >0 значит найдена
120

121

122
Cow = 0
123
Bull = 0
124
For i = 1 To 5
125
current = Mid(UserString, i, 1)
126
curpos = InStr(1, UserString, current)
127
curcomppos = InStr(1, compstr, current)
128

129
If curpos = curcomppos Then ' если номер позиции совпадает с позицией у компа значит это бык
130
Bull = Bull + 1
131
End If
132

133
If curpos <> curcomppos And curcomppos <> 0 Then ' иначе это корова
134
Cow = Cow + 1
135
End If
136

137
Next i
138
' для грамотности делаем обработку чисел
139
If Cow = 1 Then
140
CowName = " Корова"
141
ElseIf Cow = 0 Or Cow = 5 Then
142
CowName = " Коров"
143
ElseIf Cow > 1 < 5 Then
144
CowName = " Коровы"
145
End If
146

147
If Bull = 1 Then
148
BullName = " Бык"
149
ElseIf Bull = 0 Or Bull = 5 Then
150
BullName = " Быков"
151
ElseIf Bull > 1 < 5 Then
152
BullName = " Быка"
153
End If
154
'конечный результат при выйгрыше
155
If Bull = 5 Then
156
result = "Вы угадали число компьютера " & compstr & vbCrLf
157
MsgBox result, vbExclamation, "Win"
158
Else
159
result = ""
160
End If
161
log.Text = UserString & " -- " & Cow & CowName & " " & Bull & BullName & vbCrLf & result & log.Text & vbCrLf
162
End Sub
163

164

165

166

167
Private Sub BtnGo_Click()
168
If Len(Text2go.Text) = 5 Then ' не даем проверять если число меньше 5-ти
169
Call FindBullCow(Text2go.Text)
170
Else
171
MsgBox "Введите 5-ти значное число!", vbCritical, "Ошибка"
172
End If
173
End Sub
174

175
Private Sub Form_Load()
176
Call Random ' "придумываем число"
177

178
End Sub
179

180
Private Sub restart_Click()
181
Call Random ' "придумываем число"
182
End Sub
183

184
Private Sub show_Click()
185
complabel.Caption = compstr 'открываем число загаданное компьютером
186
End Sub
187

188
Private Sub Text2go_KeyDown(KeyCode As Integer, Shift As Integer)
189
If KeyCode = 13 Then BtnGo_Click 'если в текстовом поле нажмут Enter то эмулируем нажатие кнопки "проверить"
190
End Sub


RE: Не работает код игры быки и коровы
2015-05-27 16:42 Алексей Немиро
VERSION 5.00
Begin VB.Form Form1
Это техническая информация и в среде Visual Basic 6.0 она не выводится в редакторе кода.
Если попытаться вывести, то как раз можно получить ошибку вида end of statement.

Код VB 6.0 начинается отсюда:
097
Dim doo As Integer 'до скольки


RE: Не работает код игры быки и коровы
2015-05-27 16:59 93li1206
Я и начиная с Dim пыталась вводить, все равно та же фигня(

RE: Не работает код игры быки и коровы
2015-05-27 18:29 Алексей Немиро
По идее компилятор должен указывать на проблемное место.

Какая версия Visual Basic используется?

Visual Basic 6.0 или Visual Basic for Application (VBA) под Office.
Если VBA, то какая версия Office?

Код, надеюсь, не в таком виде, как представлен в ответе :)

RE: Как вывести счетчик в Label на ProgressBar?
2015-05-27 20:29 Алексей Немиро
У ListView есть методы BeginUpdate и EndUpdate, которые запрещают прорисовку на момент обновления списка и обратно включают.

Проблем с зависанием при очистке списка не наблюдаю.


Внес некоторые изменения в код, см. прикрепленный файл.

RE: Как вывести счетчик в Label на ProgressBar?
2015-05-28 02:00 Федор
Алексей, большое Вам спасибо!
Проблем с зависанием при очистке списка не наблюдаю.
		FilesListView.Clear()
		'Это сделано, чтобы восстановить FilesListView после очистки
		FilesListView.Columns.Add("Имя", 310)
		FilesListView.Columns.Add("Размер", 100)
Строки №№ 3 и 4 я потом добавил и они устранили проблему с зависанием. Вот только сообщить об этом забыл.

RE: Как вывести счетчик в Label на ProgressBar?
2015-05-28 14:53 Федор
Здравствуйте, Алексей!
Два вопроса в чисто познавательных целях:
1.
53. _Progress.Owner = Me 'текущая форма является родителем
Я правильно понимаю, что данный код позволяет использовать "Ме" для Form1 и Form2 и, в зависимости от работающего в данный момент потока, программа обращается к той или иной форме?

2. Вы исключили из кода операцию "Thread.Sleep(1)", тем не менее это не повлияло на работу программы с потоками. Можно ли считать отсутствие этой операции равнозначным выражению "Thread.Sleep(0)"?

И хочу пояснить один момент в своем коде.
У меня были строки:
    11. Dim ListV As ListView
...
    19. ListV = FilesListView

Дело в том, что в полном варианте моей программы на Form1 есть еще один ListView с именем "BiblListView", который тоже будет заполняться используя ProgressBar1. И я планирую через переменную "ListV" передавать в программу имя этого ListView. Думаю, что мне это удастся сделать.


RE: Как вывести счетчик в Label на ProgressBar?
2015-05-28 15:25 Dr. Crash
Федор, я думаю что во 2 вопросе Thread.Sleep(0) эквивалентно отсутствию задержки;
В 3 скорее всего можно поменять значение переменной ListV, то бишь когда вы выполнили операцию с одним ListView можно написать: ListV = BiblListView;

P.S. Я не читал предыдущие 10 постов, только 11 так что можете пренебречь этим ответом.

Highlight слов в wpf
2015-05-28 15:28 Dr. Crash
Думаю из названия темы все понятно, уже пробовал юзать RichTextBox и TextBox соответственно.
В RichTextBox я не понял как можно такое реализовать, а в TextBox хотел использовать старый дедовский способ, а то бишь tb.SelectionStart = ... и так далее
Но цвет выделения не остается на выделяемых участках текста
Прошу помощи...

Микроконтроллеры
2015-05-28 15:31 Dr. Crash
Решил заняться программированием микроконтроллеров, с чего начать? Какой мк купить? Какие плюсы и минусы у того или другого варианта мк?
Прошу помощи...

RE: Как вывести счетчик в Label на ProgressBar?
2015-05-28 15:57 Алексей Немиро
Я правильно понимаю, что данный код позволяет использовать "Ме" для Form1 и Form2 и, в зависимости от работающего в данный момент потока, программа обращается к той или иной форме?

Owner - владелец.

_Progress.Owner = Me 
Это означает, что у формы _Progress будет владельцем текущая форма (Me). Они будут, как бы, одним целым.

Форма _Progress будет располагаться всегда поверх формы-владельца (Me).
При сворачивании формы-владельца, подчиненная форма тоже свернется.
При закрытии формы-владельца, подчиненная форма тоже будет закрыта.
2. Вы исключили из кода операцию "Thread.Sleep(1)",
Thread.Sleep - это заморозка потока на указанное число миллисекунд (1000 мс = 1 сек).

Я заморозку показал просто для примера, чтобы создать иллюзию длительного выполнения задания.

Нет необходимости в заморозке потока в реальных условиях.
Дело в том, что в полном варианте моей программы на Form1 есть еще один ListView с именем "BiblListView", который тоже будет заполняться используя ProgressBar1. И я планирую через переменную "ListV" передавать в программу имя этого ListView. Думаю, что мне это удастся сделать.
Если будут заполняться два списка одновременно, то ничего не выйдет. Будут конфликты и хаос.

Лучше всего передавать ссылку на нужный список в параметрах.

	Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
		Dim OnlyFileName As String = ""

		If FolderBrowserDialog1.ShowDialog() = DialogResult.OK Then
			' List files in the folder.
			WorkPath = Path.Combine(FolderBrowserDialog1.SelectedPath)
		Else
			Exit Sub
		End If

		KF = System.IO.Directory.GetFiles(WorkPath, ftip, SearchOption.TopDirectoryOnly).Count

		Dim lvItem As ListViewItem = FilesListView.Items.Add("..")
		lvItem.ImageKey = "UP"
		lvItem.SubItems.AddRange(New String() {""})

		For Each foundDirectory As String In
			My.Computer.FileSystem.GetDirectories(WorkPath, FileIO.SearchOption.SearchTopLevelOnly)
			lvItem = FilesListView.Items.Add(foundDirectory.Substring(foundDirectory.LastIndexOf("\") + 1))
			lvItem.ImageKey = "Folder"
			lvItem.SubItems.AddRange(New String() {""})
		Next

		fileNames = System.IO.Directory.GetFiles(WorkPath, ftip, SearchOption.TopDirectoryOnly)

		'создаем поток
		Dim t As New Thread(AddressOf ListFilesView)
		'создаем и показываем форму
		_Progress = New Form2()
		_Progress.Owner = Me 'текущая форма является родителем
		_Progress.Maximum = KF - 1
		_Progress.Show()

		'запускаем поток
		t.Start(Me.FilesListView)	'передаем ссылку на список в параметре
		'если нужно передать несколько параметров, то можно сделать массив:
		'Dim args() As Object = {Me.FilesListView, "второй параметр", "параметр 3", "и т.п."}
	End Sub

	Private Sub ListFilesView(list As ListView)
		'меняем элементы перед началом операции
		Me.Start(list)

		Try
			For i As Integer = 0 To fileNames.Length - 1
				Dim file = My.Computer.FileSystem.GetFileInfo(fileNames(i))
				Dim Razmer As Double = Math.Round(file.Length / 1024, 2) 'на случай, если размер будет меньше 1 Кб

				'Ввод информации в ListView
				Me.AddToListView(list, file.Name, Razmer)

				'устанавливаем значение в label и меняем progress
				Me.SetProgressData(String.Format("Обработано файлов: {0}", i), i)
			Next
		Catch ex As Exception
		End Try

		'меняем элементы в конце операции
		Me.Complete(list)
	End Sub

	Private Sub Start(list As ListView)
		If Me.InvokeRequired Then
			Me.Invoke(New Action(Of ListView)(AddressOf Me.Start), list)
			Return
		End If

		'блокируем перерисовку списка
		list.BeginUpdate()
	End Sub

	Private Sub Complete(list As ListView)
		If Me.InvokeRequired Then
			Me.Invoke(New Action(Of ListView)(AddressOf Me.Complete), list)
			Return
		End If

		'разрешаем перерисовку списка
		list.EndUpdate()

		list.Focus()
		If list.Items.Count > 0 Then
			list.Items(0).Selected = True
		End If

		'если есть окно прогресса, то закрываем его
		If _Progress IsNot Nothing AndAlso _Progress.Visible Then
			_Progress.Close()
		End If
	End Sub

	Private Sub AddToListView(list As ListView, ByVal ofn As String, ByVal razm As Double) 'integer плохо подходит для вывода информации о размерах файлов
		If Me.InvokeRequired Then
			Me.Invoke(New Action(Of ListView, String, Double)(AddressOf Me.AddToListView), list, ofn, razm)
			Return
		End If

		Dim lvItem As ListViewItem = list.Items.Add(ofn)
		lvItem.ImageKey = "FB2"
		lvItem.SubItems.AddRange(New String() {razm.ToString})
	End Sub

Кстати, если форма Progress не будет взаимодействовать с основной формой, то ее можно сделать в потоке, тогда не придется использовать промежуточный метод (SetProgressData), чтобы внести изменения; т.к. форма будет в своем потоке находиться.

RE: Как вывести счетчик в Label на ProgressBar?
2015-05-28 18:53 Федор
Спасибо!
Картина для меня стала яснее
Если будут заполняться два списка одновременно, то ничего не выйдет. Будут конфликты и хаос.
Нет, нет! Одновременной работы не предусматривалось. После загрузки первого ListView, где все имена файлов книг требуют переименования и находятся в общей куче, т.к. имена файлов существуют в виде типа 00123.fb2. После их переименования и приведения к виду: Автор_Серия-№_Название, при выборе отдельного файла в первом ListView, во второй ListView будут загружаться файлы только данного автора, хранящиеся в библиотеке.

Т.е. будет реализовываться одним из способов:
- как предлагает Dr. Crash: ListV = BiblListView
- или через передачу параметром, как предлагаете Вы.

Еще раз спасибо за помощь!


RE: Микроконтроллеры
2015-05-29 01:05 Алексей Немиро
Точно решили, или все же WPF? А как же веб?

Google анонсировала безлимитный фотосервис Google Photos
2015-05-29 13:06

Google представила новый фотосервис Google Photos, который будет отчасти конкурировать с Instagram. Приложение, доступное на Android, iOS и в веб-версии, отличается безлимитным хранением фото и видео, умной сортировкой и удобным созданием фотоподборок. Есть возможность безлимитного хранения фотографий и видео.



Google представила новую версию мобильной платформы Android M
2015-05-29 13:11

Google анонсировала новую версию своей мобильной операционной системы, которая пока носит кодовое название Android M. Среди главных функций релиза — мобильная платежная система Android Pay, стандартизированная верификация при помощи отпечатков пальцев и экономия заряда аккумулятора в «спящем» режиме.



Депутаты решили ввести &#171;право на забвение&#187; в интернете
2015-05-30 13:15

В Госдуму внесен законопроект, который обяжет поисковики по требованию гражданина удалять из поисковой выдачи ссылки, позволяющие получить доступ к информации о нем. За отказ от выполнения данных требований предусматриваются многомиллионные штрафы.



Поисковики отреагировали на законопроект о &#171;праве на забвение&#187; в интернете
2015-05-30 13:16

Интернет-поисковики выступили против принятия законопроекта, обязывающего их удалять из поисковой выдачи ссылки с данными граждан по их запросу. В частности, в «Яндексе» отметили, что документ нарушает конституционное право граждан на поиск, доступ и получение информации.



RE: Микроконтроллеры
2015-05-30 23:25 Dr. Crash
Так всего понемногу

ASUS показала все новинки перед Computex 2015
2015-06-02 14:21

За сутки до начала высокотехнологичной выставки Computex 2015 компания ASUS провела большую презентацию, в рамках которой презентовала новую линейку планшетов, селфи-смартфон с 13-мегапиксельной фронтальной камерой, второе поколение часов ZenWatch, игровой моноблок, ноутбук-трансформер и еще несколько устройств.



Yota Devices разработает планшет
2015-06-02 14:22

Российская компания Yota Devices в настоящее время работает над созданием планшета, сообщил гендиректор ГК «Ростех» Сергей Чемезов. «Работаем над планшетом. Я его уже видел», — сказал он. «Еще сейчас сделали девайс — интересная штука такая: кладешь на нее телефон, и он заряжается», — добавил глава госкорпорации.



Уважаемые пользователи , программисты, все кто сталкиваются с платежными системами!
2015-06-03 13:48 frolov
Уважаемые пользователи , программисты, все кто сталкиваются с платежными системами!

Предупреждаю Вас , от своего имени, я Белицкий Андрей Анатольевич,

наткнулся на платежную систему в интернете free-kassa.ru ( фри касса )

которая якобы принимает платежи через сайт. После регистрации сайта в этой системе www.free-kassa.ru

Ваши клиенты либо заказчики начинают платить через этот Центр приема платежей free-kassa.ru

и когда хозяин либо администратор пытается вывести деньги с Сервиса на любые реквизиты,

у сайта free-kassa.ru начинаются проблемы, они запрашивают данные паспортные, тянут время,

в результате Вы не видите и не получаете своих денег!

Всех предупреждаю, не регистрируйтесь на Сервисе Приема платежей фрикасса free-kassa.ru

Они занимаются разводом людей! фрикасса - это мошенники !!!

Никто не сотрудничайте с ними!

Против них заведено уголовное дело, в ближайшее время будет разбирательство!!!

Есть много информации, подтверждающей тот факт, что лица - которые представляют руководство,

а также техническую поддержку - вводят в заблуждение, за всей системой free-kassa.ru , стоит
1-2 человека!

Не советую никому от чистого сердца !!!

Хорошей Вам работы с другими платежными системами ! А эти гады , сволочи, которые дурят
и не возвращают деньги ответят по закону !!!


Sony анонсировала самый тонкий и легкий планшет
2015-06-04 14:58

Sony Mobile объявила о скором начале продаж флагманского планшета Xperia Z4 Tablet, а также сообщила цены двух модификаций, которые в середине июня появятся на российском рынке. Новинка заявлена как самое высокотехнологичное решение на рынке планшетов по состоянию на лето 2015 года.



IT-конференция &#171;РИФ.Иннополис&#187; откроется в Казани 9 июня
2015-06-04 14:59

Одновременно с официальным открытием города Иннополис (республика Татарстан) начнется IT-конференция «РИФ.Иннополис» пройдет с 9 по 10 июня, как и планировалось ранее. Отдельным блоком программы идет конференция OS DAY, посвященная вопросам разработки операционных систем. Доклады будут идти в 5 параллельных потоков.



Адреса памяти
2015-06-04 20:22 Dr. Crash
Как найти статичный адрес памяти приложения?

В избранное