Очень нужна Вашат помощь

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
alex77777
Обычный пользователь
Обычный пользователь
 
Сообщения: 67
Зарегистрирован: 27.09.2004 (Пн) 19:15

Очень нужна Вашат помощь

Сообщение alex77777 » 10.03.2005 (Чт) 20:09

Всем привет!

Такая задача. Колонка из Фамилии,Имя, Отчества. Пример:
А1
1Иванов
2Иван
3ИВанович
4Петров
5Петр
6Петрович
и т.д.

Необходимо сделать :
А1 В1 С1
1Иванов Иван Иванович
2Петров Петр Петрович

Всем спасибо кто откликнется

Ramzes
Скромный человек
Скромный человек
Аватара пользователя
 
Сообщения: 5004
Зарегистрирован: 12.04.2003 (Сб) 11:59
Откуда: Из гробницы :)

Сообщение Ramzes » 10.03.2005 (Чт) 21:32

Что то нифига понять не могу :(

Deja-vu
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 55
Зарегистрирован: 02.11.2004 (Вт) 22:02

Сообщение Deja-vu » 10.03.2005 (Чт) 22:45

RamzesВидимо человеку надо 1. отсортировать все фамилии, начинающиеся с одинаковой буквы и 2. разместить их на разных колонках...

Ramzes
Скромный человек
Скромный человек
Аватара пользователя
 
Сообщения: 5004
Зарегистрирован: 12.04.2003 (Сб) 11:59
Откуда: Из гробницы :)

Сообщение Ramzes » 10.03.2005 (Чт) 22:54

Можно сделать так, если это все в файле

Код: Выделить всё

Dim str1, str2, txt as string

open "File path" for input as #1
do until eof(1)
lin einput #1, txt
if mid(txt,1,1) = "И" then
str1 = str1 & txt
end if
if mid(txt,1,1) = "П" then
str2 = str2 & txt
end if
loop
close #1



Вот, но лучше канешна select case в таком случае юзать :roll:

Ramzes
Скромный человек
Скромный человек
Аватара пользователя
 
Сообщения: 5004
Зарегистрирован: 12.04.2003 (Сб) 11:59
Откуда: Из гробницы :)

Сообщение Ramzes » 10.03.2005 (Чт) 22:56

Вот это если я правлино понял, а если нет то не бейье меня палками за флуд плиз :D

vvs_adm
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1492
Зарегистрирован: 03.02.2005 (Чт) 3:45
Откуда: оттуда ;)

Сообщение vvs_adm » 10.03.2005 (Чт) 23:44

Не, мне кажется у него там проще... Там строки подряд идут, а ему каждые три строки через пробел сшить надо в одну, сожержащую сразу фамилию, имя и отчество. Типа еще проще будет, чем ты написал.
Код: Выделить всё
Dim sArray() as string
Dim sTemp as string
Dim nCount as long
Dim nNumber as byte

Open "sFileName" for input as #1
nNumber=1
nCount=0

Do Until EOF(1)
..line input #1, sTemp
..Select Case nNumber
....Case 1
......ReDim Preserve sArray(nCount)
......sArray(nCount)=sTemp
......nNumber=2
......nCount=nCount+1
....Case 2
......sArray(nCount)=sArray & " " & sTemp
......nNumber=3
......nCount=nCount+1
....Case 3
......sArray(nCount)=sArray & " " & sTemp
......nNumber=1
......nCount=nCount+1
....End Select
..Loop
Close #1


P.S.: Это ж надо, у меня там индекса у массива нигде не было, а я тока щаз заметил... Позор :oops:
Последний раз редактировалось vvs_adm 11.03.2005 (Пт) 9:16, всего редактировалось 2 раз(а).

vvs_adm
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1492
Зарегистрирован: 03.02.2005 (Чт) 3:45
Откуда: оттуда ;)

Сообщение vvs_adm » 10.03.2005 (Чт) 23:46

Не, мне кажется у него там проще... Там строки подряд идут, а ему каждые три строки через пробел сшить надо в одну, сожержащую сразу фамилию, имя и отчество. Типа еще проще будет, чем ты написал.
Код: Выделить всё
Dim sArray() as string
Dim sTemp as string
Dim nCount as long
Dim nNumber as byte

Open "sFileName" for input as #1
nNumber=1
nCount=0

Do Until EOF(1)
  line input #1, sTemp
  Select Case nNumber
    Case 1
      ReDim Preserve sArray(nCount)
      sArray=sTemp
      nNumber=2
      nCount=nCount+1
    Case 2
      sArray=sArray & " " & sTemp
      nNumber=3
      nCount=nCount+1
    Case 3
      sArray=sArray & " " & sTemp
      nNumber=1
      nCount=nCount+1
    End Select
  Loop
Close #1


Странно, так получается, если точки на пробелы поменять :shock: :shock:

alex77777
Обычный пользователь
Обычный пользователь
 
Сообщения: 67
Зарегистрирован: 27.09.2004 (Пн) 19:15

Сообщение alex77777 » 11.03.2005 (Пт) 9:02

Спасибо за помощь всем.
Да мне всех надо по Фамилии И.О. в одну строку раскидать. Правильно.

uhm
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1597
Зарегистрирован: 02.12.2004 (Чт) 15:21

Сообщение uhm » 11.03.2005 (Пт) 10:57

Э-э-э, а если это все в Эксель, и ввести формулу

=A1 & " " & A2 & " " & A3

а потом повторять через три строчки, а потом скопировать и убрать пустые строчки - не проще будет? Или я вообще не про то?

alex77777
Обычный пользователь
Обычный пользователь
 
Сообщения: 67
Зарегистрирован: 27.09.2004 (Пн) 19:15

Сообщение alex77777 » 11.03.2005 (Пт) 11:28

в принципе про ЭТО конечно.


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот и гости: 145

    TopList