Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > VB6 > Из числа в текст


Автор: FRC 20.5.2007, 17:05
Доброго времени суток!
На форме есть Combo1, в него, при открытии формы, вносятся имена файлов такого типа -  "56783.01", "12345.01" и т.д.
В текстовом файле нахотится некое описание - "56783 Иванов", "12345 Сидоров" и. т.д.
Как можно заменить названия файлов в Combo1 на значение указанное в текстовом файле?

Автор: DelphianOracle 20.5.2007, 18:19
Код

For i = 0 To Combo1.ListCount
   open "путь к файлу" for input as #1
   input #1, combo1.list(i)
   close #1
Next i


Если я правильно вас понял...

Автор: FRC 20.5.2007, 18:59
Вот код:
Код
Private Sub Form_Load()
   Dim path As String
   Dim file As String
   path = ("C:\работа\форма\файлы")
   file = Dir((path) & "\*.*")
   Combo1.Clear
   Do While Len(file)
      Combo1.AddItem file
      file = Dir()
   Loop
   For i = 0 To Combo1.ListCount
   Open "C:\работа\форма\текст\st.txt" For Input As #1
   Input #1, Combo1.List(i)
   Close #1
   Next i
End Sub

Ругается "Compile error: Variable required-can't assign to this expression"
вот на этой строке:
Код

 Input #1, Combo1.List(i)


Автор: FRC 20.5.2007, 18:59
Вот код:
Код
Private Sub Form_Load()
   Dim path As String
   Dim file As String
   path = ("C:\работа\форма\файлы")
   file = Dir((path) & "\*.*")
   Combo1.Clear
   Do While Len(file)
      Combo1.AddItem file
      file = Dir()
   Loop
   For i = 0 To Combo1.ListCount
   Open "C:\работа\форма\текст\st.txt" For Input As #1
   Input #1, Combo1.List(i)
   Close #1
   Next i
End Sub

Ругается "Compile error: Variable required-can't assign to this expression"
вот на этой строке:
Код

 Input #1, Combo1.List(i)


Автор: DimkraS 20.5.2007, 19:38
Может неправильно понял задачу, но вот:
Код

Private Sub Command1_Click()
    Number = FreeFile

    Dim MyArr() As Byte
   Dim AmountOfLines As Long
   
   Open "imy.txt" For Binary As #1

   ReDim MyArr(LOF(1))
   Get #1, , MyArr()
   Close #1
   
   AmountOfLines = 0
   For i = 0 To UBound(MyArr)
      If MyArr(i) = 10 Then AmountOfLines = AmountOfLines + 1
   Next i
   
   Open "imy.txt" For Input As #Number
   ReDim imya(AmountOfLines)
   ReDim naame(AmountOfLines)
   ReDim imyaa(AmountOfLines)
   ReDim imyacombo(AmountOfLines)
   For i = 1 To AmountOfLines
            Line Input #Number, imya(i)
        dlina = Len(imya(i))
        dlina = dlina - 2
        imya(i) = Mid(imya(i), 2, dlina)
        dlina2 = Len(imya(i))
        
        For p = 1 To dlina2
            sim = Mid(imya(i), p, 1)
            If sim = " " Then
                p = dlina2
            ElseIf sim <> " " Then
                naame(i) = Str(naame(i)) + Str(sim)
            Else
            End If
        Next p
        
        dlina3 = Len(naame(i))
        dlimy = dlina2 - dlina3 - 1
        imyaa(i) = Mid(imya(i), dlina3, dlimy)
        
        dlcombo = Len(Combo1.List(i - 1))
       
        For p = 1 To dlcombo
            sim = Mid(Combo1.List(i - 1), p, 1)
            If sim = "." Then
                p = dlcombo
            ElseIf sim <> "." Then
                imyacombo(i) = Str(imyacombo(i)) + Str(sim)
            Else
            End If
        Next p
        If naame(i) = imyacombo(i) Then
            Combo1.List(i - 1) = imyaa(i)
        End If
  Next i
  Close #Number
End Sub

Private Sub Form_Load()
    Combo1.List(0) = "56783.01"
    Combo1.List(1) = "12345.01"
End Sub

Автор: Akina 20.5.2007, 22:01
Цитата(FRC @  20.5.2007,  19:59 Найти цитируемый пост)
Ругается "Compile error: Variable required-can't assign to this expression"

Правильно ругается - требуется промежуточная строковая переменная.

Автор: DelphianOracle 22.5.2007, 15:55
Код

dim a as string
    For i = 0 To Combo1.ListCount
        Open path&"\"combo1.list(i) For Input As #1
        Line Input #1, a
        Combo1.List(i) = a
        close #1
    Next i

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)