powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Помогите пож-та с строкой
19 сообщений из 19, страница 1 из 1
Помогите пож-та с строкой
    #35004706
ЧЕЛ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
когда я пытаюсь получить строку из текстового файла, Get #nFile,
strInput возвращает квадраты, в тексте только цифры и запятые.
...
Рейтинг: 0 / 0
Помогите пож-та с строкой
    #35004766
TIKO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ЧЕЛкогда я пытаюсь получить строку из текстового файла, Get #nFile,
strInput возвращает квадраты, в тексте только цифры и запятые.
Dim strInput as string ' объявлена
...
Рейтинг: 0 / 0
Помогите пож-та с строкой
    #35004785
ЧЕЛ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
TIKO ЧЕЛкогда я пытаюсь получить строку из текстового файла, Get #nFile,
strInput возвращает квадраты, в тексте только цифры и запятые.
Dim strInput as string ' объявлена
да Dim strInput As String * 40
...
Рейтинг: 0 / 0
Помогите пож-та с строкой
    #35004819
Belkin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А файл как открываешь?
Хотя скорей всего это из за Dim strInput As String * 40 напиши просто
Dim strInput As String
-----------
Андрей.
...
Рейтинг: 0 / 0
Помогите пож-та с строкой
    #35004833
ЧЕЛ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
BelkinА файл как открываешь?
Хотя скорей всего это из за Dim strInput As String * 40 напиши просто
Dim strInput As String
-----------
Андрей.
просто Dim strInput As String тогда он ошибку выдает, файл открываю
Open strFile For Random Access Read As #nFile
...
Рейтинг: 0 / 0
Помогите пож-та с строкой
    #35004951
ЧЕЛ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ЧЕЛ BelkinА файл как открываешь?
Хотя скорей всего это из за Dim strInput As String * 40 напиши просто
Dim strInput As String
-----------
Андрей.
просто Dim strInput As String тогда он ошибку выдает, файл открываю
Open strFile For Random Access Read As #nFile
обманул, не ошибку а пустую строку, но в файле в это строке 37 символов
...
Рейтинг: 0 / 0
Помогите пож-та с строкой
    #35004997
Фотография klen_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
так попробуй
Код: plaintext
Open strFile For Random Access Read As #nFile Len = длина_строки
...
Рейтинг: 0 / 0
Помогите пож-та с строкой
    #35005033
ЧЕЛ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
klen_так попробуй
Код: plaintext
Open strFile For Random Access Read As #nFile Len = длина_строки

так тоже пустая срока
...
Рейтинг: 0 / 0
Помогите пож-та с строкой
    #35005408
Belkin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Давай весь код.
Что у тебя за файл? Текстовый?
-----------
Андрей.
...
Рейтинг: 0 / 0
Помогите пож-та с строкой
    #35005411
ЧЕЛ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ребята не бросайте , если длинну строки не задаю выводит
если задаю выводит " "
...
Рейтинг: 0 / 0
Помогите пож-та с строкой
    #35005484
ЧЕЛ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Public Sub StartRutine()

Dim nFile As Integer
Dim strFile As String
Dim strInput As String * 40
Dim nPos As Integer
Dim Metas As Variant
Dim TekPos As Integer
Dim TekTrade As Integer
Dim Operation_ As String
Dim TekTime As Integer
Dim iCountLine As Integer


Set wkshNastr = Worksheets("Настройки")
Set wkshHistory = Worksheets("History")

If wkshNastr.Cells(12, 4) = 1 Then
Interval = Now + TimeValue("00:00:20")
Application.OnTime Interval, "StartRutine"
End If

wkshNastr.Cells(13, 4) = wkshNastr.Cells(13, 4) + 1 ' потом закомменировать

TriFile = wkshNastr.Cells(3, 2)

If Trim(wkshNastr.Cells(12, 4).Value) <> "1" Then
Exit Sub
End If

LastSize = wkshNastr.Cells(41, 2)
nFile = FreeFile
strFile = wkshNastr.Cells(6, 2).Value
If LastSize > 0 Then
If LastSize < FileLen(strFile) Then
LastSize = FileLen(strFile)
wkshNastr.Cells(41, 2) = LastSize
Else
Exit Sub
End If
Else
LastSize = FileLen(strFile)
End If
'это о что было до прочтения текущего файла лонг/шорт
LastPos = wkshNastr.Cells(5, 7).Value

Open strFile For Input As #nFile
iCountLine = UBound(Split(Input(LOF(nFile), #nFile), vbNewLine)) - 1
Close #nFile

Open strFile For Random Access Read As #nFile 'Len = 40


Seek #nFile, iCountLine
'Получить запись с заданным кодом
Get #nFile, , strInput

If Len(strInput) > 0 Then
Metas = GetArgument(strInput)
wkshNastr.Cells(5, 4).Value = Metas(1)
wkshNastr.Cells(5, 5).Value = Metas(2)
wkshNastr.Cells(5, 6).Value = Metas(4)
wkshNastr.Cells(5, 7).Value = Metas(5)
End If
...
Рейтинг: 0 / 0
Помогите пож-та с строкой
    #35005485
ЧЕЛ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот и сам файл
...
Рейтинг: 0 / 0
Помогите пож-та с строкой
    #35005524
Belkin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот так

Код: plaintext
1.
2.
3.
4.
5.
Dim strString as String
Open "File.txt" For Input Lock Write As # 1 
While Not EOF( 1 )
 Line Input # 1 , strString 'D переменной strString будет строка из файла
Wend
Close # 1 

-----------
Андрей.
...
Рейтинг: 0 / 0
Помогите пож-та с строкой
    #35005543
ЧЕЛ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
BelkinВот так

Код: plaintext
1.
2.
3.
4.
5.
Dim strString as String
Open "File.txt" For Input Lock Write As # 1 
While Not EOF( 1 )
 Line Input # 1 , strString 'D переменной strString будет строка из файла
Wend
Close # 1 

-----------
Андрей.
предлагаешь мне циклом пробежать по всем строкам?
так конечно будет работать, у меня так было, но это долго, и критично для моей проги.
...
Рейтинг: 0 / 0
Помогите пож-та с строкой
    #35005548
ЧЕЛ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
мне нужна, только последняя строка файла
...
Рейтинг: 0 / 0
Помогите пож-та с строкой
    #35005592
Belkin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЧЕЛмне нужна, только последняя строка файла
Обрати внимание, вто в твоем файле как раз 2 или 3 строки пустые!!!
...
Рейтинг: 0 / 0
Помогите пож-та с строкой
    #35005624
ЧЕЛ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Belkin ЧЕЛмне нужна, только последняя строка файла
Обрати внимание, вто в твоем файле как раз 2 или 3 строки пустые!!!
Как ты увидел что они пустые?
этот файл открывал в блокноте и FAR не вижу пустых строк.
Сейчас ручками написал iCountLine=15, он прочитал кусок 49й и 50й строки, короче я вообще не врубаюсь, видимо как то надо цикл ускорять
...
Рейтинг: 0 / 0
Помогите пож-та с строкой
    #35005641
ЧЕЛ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Belkin ЧЕЛмне нужна, только последняя строка файла
Обрати внимание, вто в твоем файле как раз 2 или 3 строки пустые!!!
Спасибо тебе , большое что время потратил, короче буду читать весь файл в переменную и там ковырять, вопрос снят
...
Рейтинг: 0 / 0
Помогите пож-та с строкой
    #35006212
Фотография klen_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
так тоже будет быстро читать
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
Private Type stru_Metas
    pole01 As String *  8 
    comma1 As String *  1 
    pole02 As String *  7 
    comma2 As String *  1 
    pole03 As String *  1 
    comma3 As String *  1 
    pole04 As String *  6 
    comma4 As String *  1 
    pole05 As String *  1 
    comma5 As String *  1 
    pole06 As String *  1 
    comma6 As String *  1 
    pole07 As String *  1 
    comma7 As String *  1 
    pole08 As String *  1 
    comma8 As String *  1 
    pole09 As String *  1 
    CrLf As String *  2   '   vbCrLf
End Type


Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
Sub Command2_Click()
    Dim MetasS_ As String:    MetasS_ = "C:\MetasSignal.txt"
    
    Dim zapis As stru_Metas
    
    Dim r_FreeFile As Integer:  r_FreeFile = FreeFile
    Open MetasS_ For Binary As #r_FreeFile
    
    Dim p1, p2, p3, p4
    
    Do Until EOF(r_FreeFile)
        Get #r_FreeFile, , zapis
        p1 = zapis.pole01
        p2 = zapis.pole02
        p3 = zapis.pole03
        p4 = zapis.pole04
    Loop
    Close #r_FreeFile
    
End Sub
...
Рейтинг: 0 / 0
19 сообщений из 19, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Помогите пож-та с строкой
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]