ChanServ changed the topic of #libreoffice-ru to: Канал поддержки русскоязычных пользователей LibreOffice | Wiki TDF http://tdf.io/wikiru | On-line документация http://tdf.io/helpru | Логи канала: http://goo.gl/gzwdwU
tagezi has quit [Ping timeout: 272 seconds]
Sveta_ has joined #libreoffice-ru
sveta has left #libreoffice-ru [#libreoffice-ru]
Sveta_ is now known as Sveta
JohnDoe_71Rus has joined #libreoffice-ru
JohnDoe_71Rus has quit [Quit: KVIrc 4.9.3 Aria http://www.kvirc.net/]
JohnDoe_71Rus has joined #libreoffice-ru
Sveta has quit [Remote host closed the connection]
Sveta has joined #libreoffice-ru
tagezi has joined #libreoffice-ru
<tagezi> я там забыл скобк поставить
<tagezi> блин, пересмотрел пару лекций по рекурсиям, думал забыл что, переделала передачу переменных..
<tagezi> а оказалось, что просто скобочки не паоставил, и рексия была бесконечной :)
<tagezi> осталось сделать надпись.. тоже где-то туплю, наверное
<mikekaganski> правильно :)
<JohnDoe_71Rus> скобочку забыл, цикл не закрыл...
<tagezi> пора обновлять желехо :)
<JohnDoe_71Rus> пора на барахолках искать старые intel и amd http://www.opennet.ru/opennews/art.shtml?num=47849
<tagezi> да, вчера блумберг не затыкался по этому поводу
tagezi has quit [Remote host closed the connection]
tagezi has joined #libreoffice-ru
kompi has joined #libreoffice-ru
<kompi> JohnDoe_71Rus: лучше вот эта ссылка https://www.linux.org.ru/news/security/13934697
<kompi> mikekaganski: ку
<JohnDoe_71Rus> как страшно жить. где найти проц старше 1995 года
<kompi> JohnDoe_71Rus: а главное зачем?
<kompi> самый интересный вопрос - АНБ юзало это молча, начиная с 1995г, или как?
<kompi> mikekaganski: может оставить так? https://i.imgur.com/W2tbund.png
<kompi> mikekaganski: потому что про проверки я ни фига не понял
<mikekaganski> kompi: не, так не интересно.
<mikekaganski> вы такие интересные пользователи! чуть что - "фича сырая, недоделанная, фи", а как сами - так "пусть будет так"
<mikekaganski> если нужно - давай разбираться вместе
<kompi> ахахаха, дада, мы такие
<kompi> mikekaganski: да, нужно
<kompi> хотел бы начать с проверки на размер шрифта и тупого запрета стаить что-то вне диапазона 8-200
<mikekaganski> Ок. Давай с твоей Formatting и начнём. Это процедура, работающая по кнопке. Здесь лучше и проверить всё.
<mikekaganski> У тебя там происходит так: берём контейнер со вставками, в цикле проверяем, формула ли это, и если формула, то устанавливаем свойства ей, которые берём из окошек ввода
<kompi> да
<mikekaganski> Для каждой формулы у тебя данные вытягиваются из окошка заново
<kompi> угу
<kompi> ты хочешь один раз присвоить и потом юзать переменную?
<mikekaganski> это не хорошо. Перед началом нужно всё проверить, записать данные из окошек в переменные, и уж потом записывать
<mikekaganski> да
<mikekaganski> Хоть это и не обязательно, советую тебе использовать Option Explicit, и все переменные объявлять с помощью Dim
<mikekaganski> потому что так проще отлавливать ошибки
<mikekaganski> так что начнём с того, что в начале процедуры вставим Dim nFontSize As Long
<mikekaganski> Это объявляет переменную типа Длинное целое (просто Integer нельзя, т.к. у неё максимум 32К)
<kompi> а зачем мне размер шрифта больше 32к? О_о
<mikekaganski> А, да, это я так, автоматом
<mikekaganski> ну, пусть Integer
<kompi> а почему такое название переменной?
<kompi> нумерик?
<mikekaganski> привычка. n вначале говорит *мне*, что это целое число
<kompi> пусть так
<mikekaganski> у нас такие соглашения в коде
<mikekaganski> Затем
<mikekaganski> nFontSize = oDialog.GetControl("NumericFieldForFontSize").Text
<mikekaganski> То есть ты тут числовой переменной присваиваешь текст
<kompi> погоди
<mikekaganski> при этом автоматом происходит перевод из строки в число. Если не получится (ну, там, пустая строка, или не числовая), получится ноль
<mikekaganski> что?
<kompi> я переменные объявляю ВНУТРИ sub?
<mikekaganski> да, я же написал: "начнём с того, что в начале процедуры вставим Dim nFontSize As Long"
<mikekaganski> ну, норм
<mikekaganski> теперь проверка
<kompi> if?
<mikekaganski> ага
<mikekaganski> If (nFontSize < 4) Then
<mikekaganski> nFontSize = 4
<mikekaganski> oDialog.GetControl("NumericFieldForFontSize").Text = "4"
<mikekaganski> End If
<kompi> я против
<kompi> оно молча установит что-то, юзер не заметит и будет тупить
<mikekaganski> да как хочешь, я пишу как мне нравится
<kompi> нене
<kompi> хм
<mikekaganski> поэтому я и говорил про msgbox
<kompi> а ты хочешь ДВЕ проерки?
<mikekaganski> конечно
<kompi> и зачем в скобках условие
<mikekaganski> привычка из c++
<kompi> через or можно сразу?
<mikekaganski> зачем?
<kompi> меньше 8 и больше 200
<mikekaganski> тогда что?
<kompi> тогда месседж с текстом, что низзя
<kompi> и просьбой заново ввести
<mikekaganski> Хм, ну, всё равно лучше по отдельности
<kompi> ок
<mikekaganski> If (nFontSize < 4) Then
<mikekaganski> oDialog.GetControl("NumericFieldForFontSize").Text = "4"
<mikekaganski> MsgBox "Низзя меньше!"
<mikekaganski> ElseIf (nFontSize > 200) Then
<mikekaganski> oDialog.GetControl("NumericFieldForFontSize").Text = "200"
<mikekaganski> MsgBox "Низзя больше!"
<mikekaganski> EndIf
<kompi> а зачем ты все же присваиваешь значение?
<mikekaganski> Чтобы сразу исправить в окошке на максимум/минимум
<mikekaganski> если чел ввёл слишком мало, маловероятно, что он исправит на 28
<kompi> mikekaganski: мне тут в глову стукнуло, вдруг дебилы будет формулы править в файле Draw, на формате А0, будет куча формул и надо будет размер поболее 200?=(
<mikekaganski> Ну, это ты почему-то хочешь всех ограничивать в своих придуманных рамках
<kompi> ну да=(
<kompi> давай верхний предел уберем
<kompi> совсем
<mikekaganski> как скажешь
<kompi> погоди
<mikekaganski> kompi: забыл: перед EndIf нужно Exit Sub
<kompi> мы объявили переменную, присвоили ей значение из диалога, а потом затеяли проверку и присвоили....
<kompi> зачем эксит саб? О_о
<mikekaganski> У тебя же произошла ошибка: пользователь ввёл слишком мало - пусть проверит перед продолжением
<mikekaganski> ты ж сам этого хотел
<kompi> а как тогда закончится проверка, если мы из нее вылезли?
<kompi> или это нормально?
<mikekaganski> всё нормально, он выдал сообщение и закончил процедуру досрочно
<mikekaganski> kompi: дальше?
<kompi> щас, афк на 10 мин
<mikekaganski> ну, если меня не окажется - считайте, что я праздную свой ДР
<JohnDoe_71Rus> о как. поздравлям
<JohnDoe_71Rus> значит ты тоже зимний
<mikekaganski> :) спасибо! ага :)
<kompi> mikekaganski: с ДР, от всего сердца
<kompi> mikekaganski: уже отмечаешь?
<kompi> http://www.cyberforum.ru/vb-net/thread1631204.html последний пост про шрифты, правда это для VB
kompi has quit [Quit: Page closed]
kompi has joined #libreoffice-ru
<mikekaganski> я завтра гляну :)
kompi has quit [Quit: Page closed]
JohnDoe_71Rus has quit [Quit: KVIrc 4.9.3 Aria http://www.kvirc.net/]