Hell /HiLevel Bot/ писал(а):Ну давайте все по несколку раз одно (ну почти) и тоже понапишем.
Кстати, f$ отличается от f также как x$ от x => получается что текст с обрубленными 4-мя символами мы пмшем в новую переменную.
Private Sub Main()
x$ = "54321"
Debug.Print x
End Sub
x = "54321"
x$=left(x$,len(x)-4)
Hell /HiLevel Bot/ писал(а):x = "54321"
x$=left(x$,len(x)-4)
Typa-declaration character does not match declarated data type
А перед этим ты писал(а):получается что текст с обрубленными 4-мя символами мы пмшем в новую переменную
marvan писал(а):Ага, и память будет течь ручьём...
2tyomitch
Пустые слова. Обоснуй!
l = 2 * (Len(s) - 4)
If l < 0 Then l = 0
CopyLng StrPtr(s) - 4, l
Vi писал(а):Это видно хотя бы потому, что строка, имеющая 0 символов, занимает место в динамической куче и правильно удаляется.
Не аргумент - там всегда выделяется/удаляется 4+2*длина байт, т.е. 0-символьная строка, что логично, занимает 4 байта. И правильно удаляется.
Private Declare Function SysReAllocStringLen Lib "oleaut32" _
(ByVal Destination As Any, ByVal Source As Long, ByVal Length As Long) As Long
Private Sub Form_Load()
Dim s As String, sz As Long
Dim oldadr As Long, newadr As Long, newadr2 As Long, newadr3 As Long, newadr4 As Long
s = "1234567"
sz = Len(s)
oldadr = StrPtr(s)
SysReAllocStringLen VarPtr(s), 0, sz - 4 ' уменьшим
newadr = StrPtr(s)
SysReAllocStringLen VarPtr(s), 0, sz ' восстановим
newadr2 = StrPtr(s)
SysReAllocStringLen VarPtr(s), 0, sz + 4 ' увеличим немного
newadr3 = StrPtr(s)
SysReAllocStringLen VarPtr(s), 0, sz + 24 ' увеличим еще
newadr4 = StrPtr(s)
Debug.Print Hex(oldadr), Hex(newadr), Hex(newadr2), Hex(newadr3), Hex(newadr4)
End Sub
tyomitch писал(а):Hell /HiLevel Bot/ писал(а):x = "54321"
x$=left(x$,len(x)-4)
Typa-declaration character does not match declarated data type
Правильно.А перед этим ты писал(а):получается что текст с обрубленными 4-мя символами мы пмшем в новую переменную
Признаёшь, что был неправ и что переменная одна?
Hell /HiLevel Bot/ писал(а):Лана-лана признаю, но пример от PATRIOT_kz всё-равно не рабочий.
PATRIOT_kz писал(а):слышь ты "tyomitch" - винни-пух.
Ты в дудку не гуди, а форум существует ещё чтобы по прикалываться! Я же не ты - писсимист и фашист проклятый.
alibek писал(а):А причем тут последний вариант? Ему же не скопировать строку надо.
st = left(st, len(st)-4)
alibek писал(а):Ему не надо str, ему надо str без последних четырех символов.
kazah_ писал(а):Наворот, ненужный зато мозги позрядились...
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0