Страница: 1 |
Вопрос: Как сохранить данные из MSflexgrid? | Добавлено: 21.05.07 17:27 |
Автор вопроса: ![]() |
Нужно просто сохранить в текстовый файл данные из msflexgrid, чтоб все столбцы были ровно. |
Ответы | Всего ответов: 10 |
Номер ответа: 1 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() Вопросов: 0 Ответов: 454 |
Профиль | Цитата | #1 | Добавлено: 21.05.07 17:52 |
В цикле опроси сетку (TextMatrix), дополни пробелами до нужного максимума. А в чем затруднение? |
Номер ответа: 2 Автор ответа: ![]() ![]() ![]() Вопросов: 12 Ответов: 19 |
Профиль | Цитата | #2 | Добавлено: 21.05.07 18:08 |
Ну просто может можно автоматически. Ведь если длины разные у элементов в сетке(я их заранее не знаю), то тогда строки будут неровно. Может можно как нибудь тогда в эксель скопировать, а потом уже из экселя сохранить? Тогда все должно быть ровно |
Номер ответа: 3 Автор ответа: ![]() ![]() ![]() Вопросов: 12 Ответов: 19 |
Профиль | Цитата | #3 | Добавлено: 21.05.07 18:09 |
могут быть неровно не строки, а столбцы (опечатка) |
Номер ответа: 4 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() Вопросов: 0 Ответов: 454 |
Профиль | Цитата | #4 | Добавлено: 21.05.07 18:22 |
Ну просто может можно автоматически. Ведь если длины разные у элементов в сетке(я их заранее не знаю),
А программирование это и есть автоматизация труда, но пользователя, а не программера. В чем проблема узнать длину строки Len(TextMatrix(x,y))? Выкинуть в Excel - не проблема, 20 постов назад описано. |
Номер ответа: 5 Автор ответа: ![]() ![]() ![]() Вопросов: 12 Ответов: 19 |
Профиль | Цитата | #5 | Добавлено: 21.05.07 18:25 |
Ну просто это геморно в зависимости от длины строки выбирать число пробелов.
Я привык, что бейсик все может сделать в одну строчку ![]() |
Номер ответа: 6 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() Вопросов: 0 Ответов: 454 |
Профиль | Цитата | #6 | Добавлено: 21.05.07 18:39 |
минут десять ушло на такую х.
Dim x As Integer, y As Integer, maxln As Integer, tmpln As Integer Dim arr() As Variant For x = 0 To MSHFlexGrid1.Rows - 1 For y = 0 To MSHFlexGrid1.Cols - 1 tmpln = Len(MSHFlexGrid1.TextMatrix(x, y)) If tmpln > maxln Then maxln = tmpln Next Next ReDim arr(MSHFlexGrid1.Rows - 1, MSHFlexGrid1.Cols - 1) 'maxln - длина максимальной строки For x = 0 To MSHFlexGrid1.Rows - 1 For y = 0 To MSHFlexGrid1.Cols - 1 tmpln = Len(MSHFlexGrid1.TextMatrix(x, y)) arr(x, y) = MSHFlexGrid1.TextMatrix(x, y) & String(maxln - tmpln, " " ![]() Next Next ' проверка Dim sbor As String For x = 0 To MSHFlexGrid1.Rows - 1 For y = 0 To MSHFlexGrid1.Cols - 1 sbor = sbor & arr(x, y) & "|" Next sbor = sbor & vbCrLf Next Debug.Print sbor |
Номер ответа: 7 Автор ответа: ![]() ![]() ![]() Вопросов: 12 Ответов: 19 |
Профиль | Цитата | #7 | Добавлено: 21.05.07 19:10 |
Ну я бы тоже мог это написать, просто думал, может в одну строчку как нить получится. |
Номер ответа: 8 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() Вопросов: 0 Ответов: 454 |
Профиль | Цитата | #8 | Добавлено: 21.05.07 19:39 |
поставь после каждой строки кода двоеточие:
put point yourself. |
Номер ответа: 9 Автор ответа: ![]() ![]() ![]() Вопросов: 12 Ответов: 19 |
Профиль | Цитата | #9 | Добавлено: 21.05.07 20:42 |
Че то не совсем понял прикол, но все равно спасибо! |
Номер ответа: 10 Автор ответа: ![]() ![]() ![]() ICQ: 298826769 Вопросов: 53 Ответов: 1732 |
Профиль | Цитата | #10 | Добавлено: 21.05.07 23:18 |
Я привык, что бейсик все может сделать в одну строчку
![]() Оч-чень любопытны твои наработки.... |
Страница: 1 |
|