25.02.2010 09:28
OlegON
 
У кого-нибудь есть готовый алгоритм? Уже убился!
Есть StringList вида
Цитата:
Ляля#0Ляля#0Ляляляляляля#0Ляля#0Ляляля#0
Собственно, проблема не в таблице, а в том, что длиннее определенной, строка должна переноситься на другую строку, т.е. из вышеприведенного примера должно получиться
Код:
**************************
*Ляля*Ляля*Ляля*Ляля*Ляля*
*    *    *ляля*    *ля  *
*    *    *ляля*    *    *
**************************
25.02.2010 10:37
Sullen
 
1. Перебор элементов списка по одному.
2. Проверка на длину элемента списка (строки).
3. Отстегивание левой части и запись её в таблицу.
4. Проверка на длину остатка строки
5. Если в порядке, переход на след. запись в таблице. и запись.(в нужное поле конечно), если запись отсутствует, добавляем новую и записываем.
Вот и всё. Лучше пару функций - одна на проверку длины и возврат нужного результата, а вторая на запись в таблицу. Вроде так - на вскидку...
25.02.2010 10:52
student
 
первое что пришло в голову

Function mySPLIT(swSTR As String, swLEN As Integer)

Dim s As String, s1 As String
For i = 1 To Len(swSTR) Step swLEN
s1 = Mid(swSTR, i, swLEN)
If Len(s1) <> 0 Then
If i = 1 Then
s = s1
Else
s = s & chr(10) & s1
End If
End If
Next i
mySPLIT = s

End Function

результат
?mySPLIT("1234567890",4)
1234
5678
90
=====================
извини что на vb, но тут дело не в конкретном языке - подобные простейшие конструкции должны быть везде
25.02.2010 12:57
OlegON
 
Коллеги, не настолько уж я тупой :) Сложность не в том, чтобы просто повставлять разделители в строку (я не точно описал задачу), а в том, что это уже фактически таблица, строки с разделителями строго описанного размера. Т.е. по вышеприведенному примеру.
Ляля#0Ляля#0Ляляляляляля#0Ляля#0Ляляля#0
Ляля#0Ляля#0Ляляляляляля#0Ляля#0Ляляля#0
Ляля#0Ляля#0Ляляляляляля#0Ляля#0Ляляля#0
Ляля#0Ляля#0Ляляляляляля#0Ляля#0Ляляля#0
соответственно, Ляляляляляля надо переносить на другую строку, добавляя соответствующие разделители и сужая строку до максимально допустимой ширины... В общем да, похоже не для форума это обсуждение :) Цель проста - выводить форматированный результат SQL-запроса...
25.02.2010 13:30
student
 
Цитата:
OlegON Цель проста - выводить форматированный результат SQL-запроса...
посмотри www_citforum_ru/database/articles/sql_refactoring/

там есть ссылки на фри с исходниками, хотя это достоточно неблагодарная тема - о форматах представления сложно договориться, но если чисто для себя...
Часовой пояс GMT +3, время: 14:06.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.