0

голосов
1

ответ
27

Просмотры

Оператор C ++ перегрузки [], где параметр данных для назначения?

Я хочу, чтобы добавить перегрузки оператора [] в моем классе. Перегрузка операторов не то, что я должен был сделать раньше. Я хочу написать реализацию, чтобы сделать следующее: MyClass а; а [ "тест"] = 123; INT Тест = [ "тест"]; До сих пор в моем классе прототип выглядит следующим образом: строка оператор [] (Const символ * cpszLabel); Реализация не является полной и выглядит следующим образом: строка MyClass :: оператор [] (Const символ * cpszLabel) {строка strContent; если (! cpszLabel = nullptr) {} вернуться strContent; } То, что я не уверен, о том, как ссылаться на данные, которые приписана или же это требует перегрузки «=» тоже? Я добавил перегрузку для «=» оператора, но это не дозвонились: Прототип: оператор строка = (INT intData); Реализация: строка MyClass :: Оператор = (целое intData) {символ szString [24]; Sprintf (szString, "\" % d \ "", intData); возвращенная строка (szString); }
SPlatten
1

голосов
1

ответ
316

Просмотры

DLL CreateThread, DisableThreadLibraryCalls и _beginthreadex

Я пытаюсь понять, в чем разница между CreateThread и _beginthreadex и почему вызова DisableThreadLibraryCalls только предотвращает темы, установленные с _beginthreadex от выполнения. У меня есть проект, который представляет собой DLL, старый DLL, это длл win32 и я поручено переносить его на Win64. Единственное, что споткнулся меня был звонок в DLLMain к DisableThreadLibraryCalls. Мои темы были установлены с _beginthreadex, тело нитей никогда не выполняются причиной вызова DisableThreadLibraryCalls. После того, как я удалил это, нити работали правильно. Теперь я обнаружил, что другие потоки в одной и той же DLL запускаются с CreateThread, Я тогда подумал, был призыв к DisableThreadLibraryCalls там, чтобы предотвратить эти нити от выполнения, так что я положил его обратно и обнаружил, что нити, созданные с помощью CreateThread выполняются независимо от того, если DisableThreadLibraryCalls присутствует или нет, но темы, созданные с _beginthreadex отключены. Зачем? Я ничего не могу найти на: https://msdn.microsoft.com/en-us/library/windows/desktop/ms682579(v=vs.85).aspx Это описывает, почему это происходит.
SPlatten
1

голосов
1

ответ
46

Просмотры

Ява вставить LinkedList в существующую LinkedList

Я пишу класс, который считывает файл XML, то XML разбирается с классами «саксофон». В моем файле XML я должен создать «для» тегов и «макросов», которые дают возможность для петель, которые будут записаны в формате XML, например: Это строка $ строка $ Текст $ строка $ заменяется во время выполнения со значением итератора , Когда для цикла обрабатывается он генерирует макрос под названием «строка», который используется для обработки содержимого петли. Это хорошо работает. Мой XML-парсер генерирует LinkedList классов тегов, где каждый тег содержит свой собственный LinkedList дочерних тегов. «Для» петли тег, когда «для» петли обрабатывается он генерирует LinkedList результатов. Я хочу, чтобы заменить оригинал «для» тега в LinkedList со сгенерированным LinkedList.
SPlatten
1

голосов
1

ответ
41

Просмотры

QT приложения на Ubuntu 14.04

Я только начал разработку приложений с использованием QtCreator на Ubuntu 14.04, до сих пор я не создать окно, которое занимает весь рабочий стол, пока ничего другого. Но у меня есть небольшой 3 линия значок в верхних левом углу окна, можно перетащить его вокруг, но нет меню подсказки или контекста, связанного с этим, что это такое и как я могу остановить его от придумывает?
SPlatten
1

голосов
1

ответ
77

Просмотры

jquery tablesorter unclosed tag on IE11

I'm using the jquery tablesorter, on IE11 on a clients system (version 11.0.9600.18161) and also on Chrome (version 50.0.2661.102 m) the tables will not sort by clicking on the header, after looking at the Console in IE I see: HTML1509: Unmatched end tag. I've looked at the generate HTML and can see this: The source is the same for all browsers, although this is the same in Firefox, firefox does not report any issues and everything works, but this looks wrong to me, why aren't there any closing 'col' tags? Here is my call to tablesorter: $(objLocTable).tablesorter({theme:'blue' ,showProcessing:true ,widthFixed:false ,widgets:['zebra' ,'scroller'] ,widgetOptions:{scroller_fixedColumns:2 ,scroller_height:400 ,scroller_upAfterSort:true ,scroller_jumpToHeader:true}}) .tablesorterPager({container:$('.pager')}); I tracked down an error in the function 'sortNatural', if either a or b isn't a string the routine errors, but there is no error handling so the sort isn't completed. I can't tell you why either a or b wouldn't be a string, looking at the data set they should be, but single stepping in debugging shows that one of the parameters is null and this screws up the function. I've fixed the problem by surround the function content with a try / catch clause.
SPlatten
1

голосов
1

ответ
40

Просмотры

Excel 2003, adding content with checkboxes

Я propulating диапазона с строками с использованием VBA, каждая строка будет иметь свой собственный флаг. До сих пор код выглядит следующим образом: Dim objColumnHeadings As Range, objDBsheet As Worksheet Dim lngRow As Long, objCell As Range Dim objCheckbox Как установить объект objDBsheet = getDBsheet () Set objColumnHeadings = objDBsheet.Range ( "ColumnHeadings") objColumnHeadings.ClearContents lngRow = 1 для каждого varExisting В objColumns objColumnHeadings.Cells (lngRow, 1) .Value = varExisting Набор objCell = objColumnHeadings.Cells (lngRow, 2) Установить objCheckbox = ActiveSheet.OLEObjects.Add (ClassType: = "Forms.CheckBox.1" _ слева: = 412,8 _ Топ: = objCell.Top _, высота: 10 = _, ширина: = 9.6) objCheckbox. Name = "СВ" и lngRow objCheckbox.Appearance.Caption = "" objCheckbox.Appearance.BackColor = & H808080 objCheckbox.Appearance.BackStyle = 0 lngRow = lngRow + 1 Если lngRow> 1 Then Exit для End If Next Установка имени флажком работает, но установка других свойств не и приводит к ошибке времени выполнения: «438», Объект не поддерживает это свойство или метод. Когда я смотрю на свойства вновь добавленных флажков имя задано правильно, но Подпись, BackColor и BackStyle не установлены. Как установить эти программно? BackStyle = 0 lngRow = lngRow + 1 Если lngRow> 1 Then Exit для End If Next Установка имени флажком работает, но установка других свойств не и приводит к ошибке времени выполнения: «438», объект не поддерживает это свойство или метод. Когда я смотрю на свойства вновь добавленных флажков имя задано правильно, но Подпись, BackColor и BackStyle не установлены. Как установить эти программно? BackStyle = 0 lngRow = lngRow + 1 Если lngRow> 1 Then Exit для End If Next Установка имени флажком работает, но установка других свойств не и приводит к ошибке времени выполнения: «438», объект не поддерживает это свойство или метод. Когда я смотрю на свойства вновь добавленных флажков имя задано правильно, но Подпись, BackColor и BackStyle не установлены. Как установить эти программно? BackColor и BackStyle не установлены. Как установить эти программно? BackColor и BackStyle не установлены. Как установить эти программно?
SPlatten
1

голосов
1

ответ
74

Просмотры

Qt графический затемняется другой, но до сих пор вызывает обновление краски

Я использую Qt5.6, я QWidget графических объектов визуализации и когда другие графики оказываются перед другим это, кажется, для запуска обновления графики по графике впереди. Это создает накладные расходы, я хотел бы, чтобы определить, если графический позади полностью скрыт графики спереди и, если это так, то следует прервать событие рисования. Я думал, что это будет автоматическим и сделано как часть внутренностей Qt, но это, кажется, нет.
SPlatten
1

голосов
1

ответ
260

Просмотры

JQuery dialogs and Safari

When using jquery dialogs in Safari (Version 10.0.1 (12602.2.14.0.7)) I get horizontal lines appearing half way through the dialogs. I've looked at the CSS and the generated HTML and I cannot see any reason for it. Running Firefox (Version 52.0a2 (2016-12-10) (64-bit)) on the same system does not exhibit this behaviour. I'm using jquery 2.2.1 with UI, tablesorter, datetimeentr, input mask, multiple and jqwidgets I haven't modified the CSS...This is just the dialog set-up. $("#login").dialog({ modal: true, draggable: true, resizable: false, position: { my: "center", at: "center", of: window }, show: "blind", hide: "blind", height: 208, width: 204, dialogClass: "ui-dialog-osx", buttons: { "Login": function() { $(this).dialog("close"); $("#frmlogin").submit(); } } }); AboutClose Timekeeper, Version 2.0 from Syberdyne Systems Ltd licensed to Syberdyne Systems Ltd. Ok After the edit, the same code doesn't exhibit the problem, but it does on my system...it has to be CSS related. [11/12/2016 Edit] Using the Safari web-inspector I removed all the CSS and left just 'jquery-ui-min.css', I still get the lines through the dialogs:
SPlatten
-1

голосов
3

ответ
39

Просмотры

Лучший способ C ++, чтобы запустить другой процесс?

Ее было время, так как я должен был сделать это и в прошлом, я использовал «икру» для создания процессов. Теперь я хочу, чтобы запускать процессы из моего приложения асинхронно так что мое приложение продолжает выполняться в фоновом режиме и не получает держится на запуск процесса. Я также хочу, чтобы иметь возможность общаться с запущенными процессами. Когда я запускаю процесс, который я пошлю его Пусковой идентификатор процесса, так что запущенный процесс может взаимодействовать с пусковой установкой, используя его PID. Что такое лучший способ использовать это не является специфичным для любой платформы / операционной системы, я ищу решение, которое является мультиплатформенной? Я пишу это в C ++, я не хочу решения, которое связывает меня с каким-либо третьей стороной лицензионным продуктом. Я не хочу использовать потоки, решение должно быть для создания новых процессов.
SPlatten
1

голосов
1

ответ
242

Просмотры

How to test if registry key exists?

Во-первых, это наследие проекта, очень старый, я имею короткую соломинку приведения его в актуальном состоянии. Я заметил, что одна из ошибок является то, что приложение зависит от структуры реестра уже существующей. Я хочу проверить структуру присутствует, и если не создавать недостающие ключи. Существует существующий класс называется CRegKey, Открытый метод: рядный LONG CRegKey :: Open (HKEY hKeyParent, LPCTSTR lpszKeyName, REGSAM samDesired) бросок () {ATLASSUME (hKeyParent! = NULL); HKEY HKEY = NULL; LONG ЖРД = RegOpenKeyEx (hKeyParent, lpszKeyName, 0, samDesired, & HKEY); если (ЖРД == ERROR_SUCCESS) {ЖРД = Close (); ATLASSERT (ЖРД == ERROR_SUCCESS); m_hKey = HKEY; #if WINVER> = 0x0501 m_samWOW64 = samDesired & (KEY_WOW64_32KEY | KEY_WOW64_64KEY); #endif} возврата ЖРД; } Проблема заключается в том, что я нашел, то при вызове этой подпрограммы, если ключ не существует, она возвращает ERROR_SUCCESS, типичный пример: DWORD dwRes = rKey.Open (HKEY_LOCAL_MACHINE, szPath, KEY_READ); В приведенном выше примере szPath имеет значение: SOFTWARE \ Name \ Scada \ LonAgent Я экспортированный исходный реестр и для целей тестирования удалил ключ «LonAgent». Проблема заключается в том, что, хотя этот ключ не существует, dwRes еще 0, который является таким же, как ERROR_SUCCESS .... почему? SOFTWARE \ Name \ Scada \ LonAgent Я экспортировал первоначальный реестр и для целей тестирования удалил ключ «LonAgent». Проблема заключается в том, что, хотя этот ключ не существует, dwRes еще 0, который является таким же, как ERROR_SUCCESS .... почему? SOFTWARE \ Name \ Scada \ LonAgent Я экспортировал первоначальный реестр и для целей тестирования удалил ключ «LonAgent». Проблема заключается в том, что, хотя этот ключ не существует, dwRes еще 0, который является таким же, как ERROR_SUCCESS .... почему?
SPlatten
1

голосов
1

ответ
275

Просмотры

Java ArrayList, метод доступа для возврата ArrayList абстрактного класса

У меня есть ArrayList, содержащие объекты, полученные из абстрактного класса, есть способ вернуть список массива абстрактного типа класса, то, используя полиморфизм, иметь возможность ссылаться на объекте происхождения? Единственный способ, которым я могу видеть, делать это, чтобы создать ArrayList абстрактного типа класса, а затем скопировать элементы из исходного ArrayList в это, но я не хочу копий.
SPlatten
0

голосов
1

ответ
19

Просмотры

QJsonObject как создать функцию

Я знаю, как создать элементы и значение в QJsonObject. То, что я хочу сделать, это создать функцию JSon, что при вызове будет вызывать назначенную функцию. Это возможно?
SPlatten
1

голосов
1

ответ
54

Просмотры

Qt5.5 QString indexOf odd result

Я использую Qt Creator для разработки ++ приложения C и отладчик для изучения кода, я пытаюсь понять некоторые очень странные результаты, сообщенные отладчик. если (intDelimiter == -1 && (intOpB = strProcessed.indexOf ( "["))> = 0 && (intClB = strProcessed.indexOf ( "]", ++ intOpB)> = 0)) {strRef = strProcessed.mid (intOpB, intClB - intOpB); если (pobjNode! = NULL) {strProcessed.replace (strRef, pobjNode-> strGetAttr (strRef)); } У меня контрольную точку на линии: strRef = strProcessed.mid (intOpB, intClB - intOpB); В фрагменте кода выше strProcessed содержит: «1079- [высота]» Когда точка останова, intClB содержит 1 и intOpB содержит 6. intOpB правильно, так как возвращаемое значение из IndexOf является 5, то его увеличивается до поиска «]», но intClB не является правильным, почему докладывает отладчик как 1? Это не имеет никакого смысла для меня. Я использую: Qt Creator 3.6.0 На основе Qt 5.5.1 (GCC 4.9.1 20140922 (Red Hat 4.9.1-10), 64-битный) построен на 15 декабря 2015 г. 1:01:12 Редакция: b52c2f91f5 Как разыскан king_nak , исправленный код следует читать: если (intDelimiter == -1 && ((intOpB = strProcessed.indexOf ( "["))> = 0 && (intClB = strProcessed.indexOf ( "]", ++ intOpB))> = 0)) {strRef = strProcessed.mid (intOpB, intClB - intOpB); если (pobjNode! = NULL) {strProcessed.replace (strRef, pobjNode-> strGetAttr (strRef)); }} почему сообщать об этом отладчик как 1? Это не имеет никакого смысла для меня. Я использую: Qt Creator 3.6.0 На основе Qt 5.5.1 (GCC 4.9.1 20140922 (Red Hat 4.9.1-10), 64-битный) построен на 15 декабря 2015 г. 1:01:12 Редакция: b52c2f91f5 Как разыскан king_nak , исправленный код следует читать: если (intDelimiter == -1 && ((intOpB = strProcessed.indexOf ( "["))> = 0 && (intClB = strProcessed.indexOf ( "]", ++ intOpB))> = 0)) {strRef = strProcessed.mid (intOpB, intClB - intOpB); если (pobjNode! = NULL) {strProcessed.replace (strRef, pobjNode-> strGetAttr (strRef)); }} почему сообщать об этом отладчик как 1? Это не имеет никакого смысла для меня. Я использую: Qt Creator 3.6.0 На основе Qt 5.5.1 (GCC 4.9.1 20140922 (Red Hat 4.9.1-10), 64-битный) построен на 15 декабря 2015 г. 1:01:12 Редакция: b52c2f91f5 Как разыскан king_nak , исправленный код следует читать: если (intDelimiter == -1 && ((intOpB = strProcessed.indexOf ( "["))> = 0 && (intClB = strProcessed.indexOf ( "]", ++ intOpB))> = 0)) {strRef = strProcessed.mid (intOpB, intClB - intOpB); если (pobjNode! = NULL) {strProcessed.replace (strRef, pobjNode-> strGetAttr (strRef)); }} 12 Редакция: b52c2f91f5 Как замечен king_nak, исправленный код следует читать: если (intDelimiter == -1 && ((intOpB = strProcessed.indexOf ( "["))> = 0 && (intClB = strProcessed.indexOf ( "]" , ++ intOpB))> = 0)) {strRef = strProcessed.mid (intOpB, intClB - intOpB); если (pobjNode! = NULL) {strProcessed.replace (strRef, pobjNode-> strGetAttr (strRef)); }} 12 Редакция: b52c2f91f5 Как замечен king_nak, исправленный код следует читать: если (intDelimiter == -1 && ((intOpB = strProcessed.indexOf ( "["))> = 0 && (intClB = strProcessed.indexOf ( "]" , ++ intOpB))> = 0)) {strRef = strProcessed.mid (intOpB, intClB - intOpB); если (pobjNode! = NULL) {strProcessed.replace (strRef, pobjNode-> strGetAttr (strRef)); }} pobjNode-> strGetAttr (strRef)); }} pobjNode-> strGetAttr (strRef)); }}
SPlatten
1

голосов
1

ответ
324

Просмотры

QT регулярных выражений получать содержание в скобках

Я хочу, чтобы разбить выражение, получая содержание в скобках: например. Выражение может выглядеть следующим образом: (в центре: SCREEN) - (25%: SCREEN_WIDTH) До сих пор мой код выглядит следующим образом: QStringList lstTerms = strProcessed.split ( "/ \ (([^)] +) \) /") Но это только возвращается: (центр: SCREEN) - (25%: SCREEN_WIDTH) То, что я хочу это массив содержит два элемента, в случае приведенного выше примера: [0] центр ЭКРАНА: [1] 25%: SCREEN_WIDTH Спасибо вы @noob, окончательное рутина: QRegularExpression регулярного выражения ( "(?
SPlatten
1

голосов
1

ответ
305

Просмотры

Qt5.6 signals and slots overloading

Я создал класс для обработки данных, полученных от прорезей и создал несколько перегруженных методов одного и то же имя с другим типом параметра. Можно ли использовать перегруженные методы, как слоты? У меня есть два заявления, до сих пор: пустота уведомит (UINT uintData); недействительными уведомляет (поплавок fltData); Однако второй производит предупреждение во время выполнения: QObject :: нет подключения: Нет такого слота clsSlot :: уведомит (флоат) Нашел что предполагает его должно работать: http://doc.qt.io/qt-5/signalsandslots.html Но это не ... Из класса «clsSlot»: публичные слоты: аннулируются уведомит (UINT uintValue); недействительными уведомляет (поплавок fltValue); Реализация: аннулируются clsSlot :: уведомит (поплавок fltValue) {notifyPrimitive (Meid, QString :: номер (fltValue)); } Недействительной clsSlot :: уведомляет (UINT uintValue) {notifyPrimitive (MEID, QString :: число (uinValue)); } Подключение вызова: QObject :: подключить (FCS :: Mount :: GetRef (), & FCS :: Mount :: signalElevation, pobjHandler, & clsSlot :: уведомления); pobjHandler является указателем на экземпляр clsSlot.
SPlatten
1

голосов
2

ответ
1.2k

Просмотры

Qt5.6 установить значок приложения (Linux)

Я разрабатываю приложение для RedHat 7.2, с Qt5.6. Мой файл ресурсов «QRC»: ЛМ-3.png Я хочу, чтобы приложение, чтобы использовать этот ресурс в качестве значка приложения для настройки. С помощью редактора я редактировал главное окно и установить свойство «windowIcon» в APP_ICON, выбрав его из файла ресурсов. Я бежал QMAKE и построил приложение, но иконка остается значок Qt по умолчанию. Я попытался добавить этот код в главном окне конструктора: QIcon objIcon = QIcon ( «: / APP_ICON»); setWindowIcon (objIcon); Однако это не работает, либо, что мне нужно сделать? [Править] Применение показано на панели задач действительно показывает правильный значок в виде настройки в ресурсе вдоль стороны заголовка приложения, его просто значок в файловой системе, которая не является правильной.
SPlatten
1

голосов
2

ответ
2.5k

Просмотры

Как создать приложение для запуска вина и приложения для Windows

Я пытаюсь использовать «вино» на MAC OSX Sierra версии 10.12, вино версия 1.9.19 В терминале можно запускать приложения для Windows, однако его боль, чтобы сохранить текст в: / Applications / Вино \ Staging.app / Содержание / MacOS / вино ~ / .wine / drive_c / Program \ Files / HeidiSQL / heidisql.exe Я искал вокруг поста о том, как создавать ярлыки / приложения для добавления в Launchpad, но до сих пор ни один из информации привел меня к конечному результату рабочего. Либо расположение вина отличается или он просто не работает. Я попытался создать скрипт приложения: сделать скрипт "/ Applications / Вино Staging.app/Contents/MacOS/wine ~ / .wine / drive_c / Program Files / HeidiSQL / heidisql.exe" Но это не будет работать либо.
SPlatten
1

голосов
2

ответ
84

Просмотры

Получение даты и времени сборки в RedHat 7.2

Я пытаюсь добавить дату сборки и время для моего файла проекта Qt 5.6, до сих пор я добавил: win32 {ОПРЕДЕЛЯЕТ + = BUILDTIME = \\\ «$$ системы („эхо% время%“) \\\» DEFINES + = BUILDDATE = \\\ "$$ система ( 'эхо дата%%') \\\"} еще {DEFINES + = BUILDTIME = \\\ "$$ система (дата '+% H:% M') \\\»DEFINES + = BUILDDATE = \\\ "$$ система (дата '+% d /% м /% г') \\\"} И в исходном коде: QString strBuildDT = QString :: fromLocal8Bit (BUILDDATE ) + "" + QString :: fromLocal8Bit (BUILDTIME); Используя это в качестве примера я хотел бы получить: 12/10/16, 17:39 Я хотел бы переформатировать дату на дисплее: 12 октября 2016 г., 17:39 Из исследований он выглядит как правильный формат даты использования будет: DEFINES + = BUILDDATE = \\\ "$$ система (дата '+% d% B% Y',
SPlatten
1

голосов
1

ответ
1.7k

Просмотры

Qt 5.6, как рисовать текст с различным заполнением и контурных цветов

Я использую Qt5.6, я рисую текст на видео окна, однако иногда текст не очень читаемый благодаря содержанию видео в окне. Я ток рисования текста на контексте художника с методом «DrawText». В то время как я могу установить цвет пера, который управляет досыта, я, кажется, не быть в состоянии установить цвет контура. Я хотел бы нарисовать текст с черным контуром, чтобы сделать его выделиться. К сожалению, брандмауэр, где я работаю делает жизнь очень трудной и любой полезный веб-сайт, который может помочь, кажется, быть заблокирован, поэтому этот пост. Спасибо,
SPlatten
1

голосов
2

ответ
214

Просмотры

Qt SIGABRT альтернативное сообщение?

Я использую Qt5.9, простую проверку: утверждают, (pobjNode = NULL!) Вызову диалоговое окно Полученных ошибок Qt сигнала для отображения, который не дает никакой полезной информации о том, где проблема или то, что она есть. Есть ли способ, чтобы заменить эту бесполезную информацию с чем-то немного более полезным? То, что я имею в виду способ диалога для отображения того, что может быть ошибка в случае ошибки настройки.
SPlatten
0

голосов
0

ответ
6

Просмотры

Использование fgets в потоке

Я пытаюсь прочитать содержимое файла в потоке с помощью «fgets», после того, как несколько проблем, которые я прочитал пост, который указывает, что «fgets» не поточно и использовать flockfile и funlockfile. Я изменил мою нить к: flockfile (FP); если (fgets (szBuffer, static_cast (- tLength), Fp) = nullptr!) {...} funlockfile (Fp); Но нить еще не выполняет, как я бы ожидать, и не кажется, называют fgets более чем один раз, ребенок не вернулся с первого звонка.
SPlatten
1

голосов
2

ответ
25

Просмотры

Qt как перевести строку функционировать?

Можно ли перевести строку (QString) из буквальных в функцию и вызвать ее? Например, у меня есть строка, содержащая «щелкнул», я хочу, чтобы перевести это в функцию и вызвать его, что-то вроде: Eval ( «щелкнул») ()
SPlatten
1

голосов
2

ответ
44

Просмотры

Как вызвать функцию, определенную в виде строки?

Я хочу, чтобы определить функции и скрипты в записи базы данных, то с помощью Javascript преобразования поля базы данных из строки кода. Я думал, что я мог бы использовать «Eval», но это не похоже на работу. В качестве примера: вар strTest = "функции (strParams) {оповещения ( 'Привет:' + strParams);};" , П = Eval (strTest); п ( "Мир"); Это не работает, Eval возвращает неопределенное, мы надеемся, это дает представление о том, что я пытаюсь достичь.
SPlatten
0

голосов
1

ответ
38

Просмотры

Excel VBA function can't set range

Я написал функцию VBA, которая принимает два параметра, первое это строка, а второй представляет собой диапазон, указанный в таблице как: = strPack (B1, G3) В коде эта процедура объявлена ​​как: Public Function strPack (ByVal strHex As String, ByRef rngCnt Как Range) As String On Error Goto ErrHandler Если Ложные Тогда ErrHandler: MsgBox Err.Description Exit Function End If Dim intCnt As Integer intCnt = 0»... что-то делать с strHex и приросте intCnt в то время как мы идти rngCnt.Value = CStr (intCnt) «strPack заполняется телом функции strPack =„Hello World“End Function Я попытался .value, .Value2 и .text, весь результат ошибки: приложения или объект определенные ошибки Когда я смотрю в отладчике, как strHex и rngCnt являются действительными и правильными. Почему может» т Поручаю диапазона и как это исправить? Обработчик ошибок не проблема, попробуйте его, он прекрасно работает и является стандартным способом собирания ошибок и прерывания функции при возникновении ошибки. [Править] Я только попробовал следующее: Public Sub UpdateCount () Worksheets ( "Лист1") Range ( "G3") Значение = CStr (intProcessed) End Sub intProcessed глобальна к модулю и представляет собой целое число, результат.. то же самое, точно такая же ошибка. [Edit2] Я хочу, чтобы удалить этот пост, как я изменил подход теперь вызвать другую подпрограмму, которая возвращает значение, которое опускает в клетку. Я не могу его удалить! Спасибо всем за вашу помощь. он работает отлично и является стандартным способом собирания ошибок и прерывания функции при возникновении ошибки. [Править] Я только попробовал следующее: Public Sub UpdateCount () Worksheets ( "Лист1") Range ( "G3") Значение = CStr (intProcessed) End Sub intProcessed глобальна к модулю и представляет собой целое число, результат.. то же самое, точно такая же ошибка. [Edit2] Я хочу, чтобы удалить этот пост, как я изменил подход теперь вызвать другую подпрограмму, которая возвращает значение, которое опускает в клетку. Я не могу его удалить! Спасибо всем за вашу помощь. он работает отлично и является стандартным способом собирания ошибок и прерывания функции при возникновении ошибки. [Править] Я только попробовал следующее: Public Sub UpdateCount () Worksheets ( "Лист1") Range ( "G3") Значение = CStr (intProcessed) End Sub intProcessed глобальна к модулю и представляет собой целое число, результат.. то же самое, точно такая же ошибка. [Edit2] Я хочу, чтобы удалить этот пост, как я изменил подход теперь вызвать другую подпрограмму, которая возвращает значение, которое опускает в клетку. Я не могу его удалить! Спасибо всем за вашу помощь. [Edit2] Я хочу, чтобы удалить этот пост, как я изменил подход теперь вызвать другую подпрограмму, которая возвращает значение, которое опускает в клетку. Я не могу его удалить! Спасибо всем за вашу помощь. [Edit2] Я хочу, чтобы удалить этот пост, как я изменил подход теперь вызвать другую подпрограмму, которая возвращает значение, которое опускает в клетку. Я не могу его удалить! Спасибо всем за вашу помощь.
SPlatten
2

голосов
2

ответ
853

Просмотры

Excel VBA, как связать класс и контроль?

Я использую Excel 2003 с помощью VBA, я динамически создавать элементы управления флажком на лист и хочу связать управляет VBA к классу так, что, когда пользователь нажимает на флажке событие срабатывает, так что я могу сделать что-то. Из того, что я прочитал это, казалось бы, что создание класса пользователей этого решения, но попробовав это я не могу заставить его работать. Мой класс пользователей выглядит следующим образом: Option Explicit Public WithEvents cbBox Как MSForms.checkbox Private Sub cbBox_Change () MsgBox "_CHANGE" End Sub Private Sub cbBox_Click () MsgBox "_CLICK" End Sub Мой код для создания флажков: Для каждого varExisting В objColumns 'Вставить имя поля objColumnHeadings.Cells (lngRow, 1) .Value = varExisting' Добавить objCBclass lngRow = lngRow + 1 Далее Флажки будут видны в листе, но когда я нажимаю на них, не окно сообщения не отображается, поэтому ссылка на класс, кажется, не работает. Зачем? Редактировать ... Если после добавления флажков я иду в VB IDE и выберите одну из созданных флажков из списка элементов управления, а затем выберите Щелкните из процедуры выпадающего списка, он будет вставить код для обратного вызова, который, если я добавить окно сообщения этого, работает, когда я нажимаю на тот же флажок ... так как я могу добиться этого в коде? Я пробовал запись макросов, чтобы сделать это, ничего не было записано. Если после добавления флажков заходим в VB IDE и выберите одну из созданных флажков из списка элементов управления, а затем выберите Щелкните из процедуры выпадающего списка, он будет вставить код для обратного вызова, который, если я добавить окно сообщения на это, работает, когда я нажимаю на тот же флажок ... так как я могу добиться этого в коде? Я пробовал запись макросов, чтобы сделать это, ничего не было записано. Если после добавления флажков заходим в VB IDE и выберите одну из созданных флажков из списка элементов управления, а затем выберите Щелкните из процедуры выпадающего списка, он будет вставить код для обратного вызова, который, если я добавить окно сообщения на это, работает, когда я нажимаю на тот же флажок ... так как я могу добиться этого в коде? Я пробовал запись макросов, чтобы сделать это, ничего не было записано.
SPlatten
3

голосов
2

ответ
2.2k

Просмотры

Расчет индекса из строки и столбца

Я хочу, чтобы вычислить индекс (базовый 0) для любой заданной строки и столбца, в котором строки и столбцы являются базовыми 1 и числом столбцов, как известно, например, 2 Если MAX_COLUMNS равно 2, а индекс 5, а затем вычислить номер строки из индекса : ряд = (индекс% MAX_COLUMNS) + (INT) (индекс / MAX_COLUMNS) = (5% 2) + (INT) (5/2) = 1 + 2 = 3 Чтобы вычислить номер столбца из индекса Col = MAX_COLUMNS - (индекс % MAX_COLUMNS) = 2 - (5% 2) = 2 - 1 = 1 вопрос заключается в том, чтобы вычислить строку и столбец из любого индекса, где индекс является базой 0. Это для вычисления индекса в массиве в приложении Java. Правильное решение для меня, как поставляется «Виллем Ван Onsem» Где Row 3, Col 2 и MAX_COLUMNS составляет 2:
SPlatten
4

голосов
1

ответ
3.3k

Просмотры

Qt5.7 установлен на Raspberry PI3 и работает ... как получить QtCreator?

Я наконец mangaged получить Qt5.7 на Raspberry PI3, и построил пример, который работает на Pi, это было сделано тщательно следующее: Пошаговая инструкция по установке Qt5.6 на Raspberry PI3 Чтобы получить 5,7 на Pi просто заменить: GIT клон мерзавца: //code.qt.io/qt/qtbase.git -b 5.6: мерзавца клон мерзавца: //code.qt.io/qt/qtbase.git -b 5.7 устанавливает -до цепь инструмента на хосте Linux в моем случае Ubuntu 16,04, однако он не устанавливает QtCreator, я тогда попытался установить QtCreator и испортили сборку, так что мне пришлось начать все сначала. Как получить последнюю QtCreator установлен либо на Ubuntu 16.04 или предпочтительно на PI3?
SPlatten
3

голосов
2

ответ
1.9k

Просмотры

Qt QString toInt () терпит неудачу

У меня есть «QString» содержащий «-3.5», однако если я пытаюсь преобразовать это целое число, используя метод «toInt» возвращает 0. Почему? QString strTest = "-3,5"; INT intTest = strTest.toInt (); QDebug ()
SPlatten
1

голосов
3

ответ
2.1k

Просмотры

SQL Server 2014 Экспресс на ОС Windows 10

Я скачал и установил SQL Server 2014 Express, на Windows 10, я по крайней мере 3 раза в настоящее время прошел через эту петлю. Установка завершается без предупреждений или ошибок. Я решил использовать проверку подлинности Window. Я пытаюсь использовать HeidiSQL для подключения к SQL Server. У меня уже есть установка MariaDB и я в состоянии подключиться к этому с помощью HeidiSQL. При подключении к MariaDB я могу выбрать базы данных из выпадающего комбо, но не для SQL Server. Я, кажется, не быть в состоянии соединиться с HeidiSQL. В HeidiSQL, настройки: Тип сети: Microsoft SQL Server (TCP / IP, экспериментальный) Hostname / IP: 127.0.0.1 Ticked "Использовать проверку подлинности Windows, Флажок Port: 1433 Я не могу выбрать базу данных, если нажать на кнопку кнопка Открыть через некоторое время он приходит с: SQL Error (17): [DBNETLIB] ConnectionOpen (соединитесь ()).
SPlatten
2

голосов
1

ответ
665

Просмотры

Qt 5.5 draw filled pie

На рисунке ниже показан серый пирог, я хотел бы сделать это, используя Qt 5.5 X возрастает слева направо Y увеличивается сверху вниз у меня есть начальный угол и конечный угол, который представляет в верхнюю и нижнюю части дуги, я расчет угол дуги с помощью: двойной dblArcAngle = FMOD (mcfltElevMaxLimit - mcfltElevMinLimit + 180.0, 360.0) - 180.0; Где: mcfltElevMaxLimit составляет 60 и mcfltElevMinLimit -10 Вызов drawPie выглядит следующим образом: objOffscrPainter.drawPie (QRect (rctGeom.left () + mcintElevLeftMargin, rctGeom.top () + mcintElevBottomMargin, rctGeom.width () - mcintElevLeftMargin, rctGeom. высота () - mcintElevBottomMargin), mcfltElevMaxLimit * 16, dblArcAngle * 16); Что я получаю очень маленькая ломаная примерно на полпути вверх, где пирог должен быть. (Редактировать), только что прочитал в документации, что параметры 2 и StartAngle и spanAngle и 3 должны быть умножено на 16, который действительно производит пирог, а не в правильной ориентации и не заполнены до центра, но его прогресс. (Редактировать 2), более значительный прогресс, изображение ниже показывает теперь результаты я получаю, прямоугольник Я передаю это внешний прямоугольник и включает ось, но по какой-то причине смещен пирог ??? То, что я хочу сделать это пирог, заправленные в левом нижнем углу совмещена с белой оси и заполнения изображения. Похоже, переданная прямоугольник используется для определения точки центра для пирога. Если это правильно, то центр прямоугольника должен быть отрегулирован, чтобы быть происхождение (внизу слева) и размер регулируется также для заполнения дисплея.
SPlatten
2

голосов
1

ответ
531

Просмотры

Структура XML Qt чтения

Я использую Qt5.5, я хочу читать XML-файл в память сохраняя структуру и атрибуты узлов и отношений. До сих пор я использовал QXmlStreamReader, однако это не действительно много, и я не вижу какой-либо очевидный способ построения отношений между узлами. То, что я в конечном счете хочу читать XML в связанный список, где корневой узел так же, как корневой узел XML и другие узлы являются потомками этого. После небольшого поиска вокруг, я нашел QDomDocument и QDomElement, однако для того, чтобы использовать эти «.pro» файл должен быть изменен и XML должен быть приложен к линии QT.
SPlatten
1

голосов
2

ответ
65

Просмотры

Регулярное выражение для извлечения содержимого между []

У меня есть выражение: [training_width]: lofmimics Я хочу, чтобы извлечь содержимое между [], в приведенном выше примере я хочу training_width Я попробовал следующее: QRegularExpression регулярное выражение ( «\ [. (*) \?]») ; QRegularExpressionMatch матч = regex.match (strProcessed); QString textYouWant = match.captured (1); Где strProcessed содержит оригинальный текст, но до сих пор это не сработало.
SPlatten
1

голосов
4

ответ
71

Просмотры

How to split expression containing brackets correctly

I am trying to write an expression handler that will correctly split brackets, until today it has worked very well, but I've now encountered a problem I hadn't thought of. I try to split the expression by the content of brackets first, once these are evaluated I replace the original content with the results and process until there are no brackets remaining. The expression may contain marcos/variables. Macros are denoted by text wrapped in $macro$. A typical expression: ($exampleA$ * 3) + ($exampleB$ / 2) Macros are replaced before the expression is evaluated, the above works fine because the process is as follows: Split expression by brackets, this results in two expressions: $exampleA$ * 3 $exampleB$ / 2 Each expression is then evaluated, if exampleA = 3 and exampleB = 6: $exampleA$ * 3 = 3 * 3 = 9 $exampleB$ / 2 = 6 / 2 = 3 The expression is then rebuilt using the results: 9 + 3 The final expression without any brackets is then evaluated to: 12 This works fine until an expressions with nested brackets is used: ((($exampleA$ * 3) + ($exampleB$ / 2) * 2) - 1) This breaks completely because the regular expression I'm using: regex("(?
SPlatten
3

голосов
1

ответ
3.6k

Просмотры

Node.js и xlsjs или exceljs

Я пытаюсь манипулировать книги Excel в узле с помощью модуля xlsjs https://www.npmjs.com/package/xlsjs Я также нашел exceljs https://www.npmjs.com/package/exceljs Я хотел бы иметь возможность изменять ячейки и диапазоны в рабочей книге затем сохранить в другой книге. Возможно ли это функциональность с этим модулем?
SPlatten
1

голосов
2

ответ
615

Просмотры

Как получить набор записей из внутреннего вызова хранимой процедуры?

У меня есть хранимая процедура, внутренне я хочу вызвать другую процедуру, которая возвращает набор записей, как я получаю ОбзорТерминал набора записей, возвращаемый хранимую процедура с помощью «CALL»? [Править] Я пытался использовать временную таблицу, как это предлагается, но возникают проблемы: DROP TABLE IF ВРЕМЕННОЙ СУЩЕСТВУЕТ tbl_HeadOfDepts; CREATE TABLE tbl_HeadOfDepts ВРЕМЕННОЙ (biDept_id TINYINT (4)) INSERT INTO tbl_HeadOfDepts ЗВОНИТЕ rsHeadOfAnyDepartments (vcCompKey, biWho_id); Мне нужно использовать ВЫЗОВ, потому что «rsHeadOfAnyDepartments» не является функцией, но это не будет принято. Работа продолжается, но то, что я до сих пор, что не принимается редактором: BEGIN # - # Процедура: # rsWhoCanIaccess # # Параметры: # vcCompKey, ключ, соответствующий компании # biWho_id, идентификатор личности, чтобы проверить доступ на # # Возвращает: # записей, содержащий все люди, этот человек может получить доступ к # - DECLARE tiSuperUser TINYINT (4); ЗАЯВЛЯЮ EXIT Обработчик SqlException НАЧАТЬ GET диагностики состояния 1 @sqlstate = RETURNED_SQLSTATE, @errno = mysql_errno, @text = MESSAGE_TEXT; ВЫЗОВ procLogError (vcCompKey, CONCAT ( "rsWhoCanIaccess:", @ ERRNO, "(", @sqlstate "):", @text)); КОНЕЦ; #Is этого пользователя супер пользователя? ВЫБОР tiIsSuperUser (vcCompKey, biWho_id) в tiSuperUser; SET tiSuperUser = 0; #Hack для тестирования ЕСЛИ (tiSuperUser = 1), то #The пользователь является суперпользователем, вернуть все в компании ВЫБРАТЬ t1.biPerson_id FROM tbl_people t1 INNER JOIN t2 ON tbl_companies t1.biCompany_id = t2.biCompany_id И t2.vcKey = vcCompKey; ELSE #user не является суперпользователем, является пользователь руководителем каких-либо отделов? DROP TABLE IF ВРЕМЕННОЙ СУЩЕСТВУЕТ tbl_HeadOfDepts; CREATE TABLE tbl_HeadOfDepts ВРЕМЕННОЙ (biDept_id TINYINT (4)) INSERT INTO tbl_HeadOfDepts ЗВОНИТЕ rsHeadOfAnyDepartments (vcCompKey, biWho_id); SELECT * FROM tbl_HeadOfDepts; END IF; КОНЕЦ biCompany_id = t2.biCompany_id И t2.vcKey = vcCompKey; ELSE #user не является суперпользователем, является пользователь руководителем каких-либо отделов? DROP TABLE IF ВРЕМЕННОЙ СУЩЕСТВУЕТ tbl_HeadOfDepts; CREATE TABLE tbl_HeadOfDepts ВРЕМЕННОЙ (biDept_id TINYINT (4)) INSERT INTO tbl_HeadOfDepts ЗВОНИТЕ rsHeadOfAnyDepartments (vcCompKey, biWho_id); SELECT * FROM tbl_HeadOfDepts; END IF; КОНЕЦ biCompany_id = t2.biCompany_id И t2.vcKey = vcCompKey; ELSE #user не является суперпользователем, является пользователь руководителем каких-либо отделов? DROP TABLE IF ВРЕМЕННОЙ СУЩЕСТВУЕТ tbl_HeadOfDepts; CREATE TABLE tbl_HeadOfDepts ВРЕМЕННОЙ (biDept_id TINYINT (4)) INSERT INTO tbl_HeadOfDepts ЗВОНИТЕ rsHeadOfAnyDepartments (vcCompKey, biWho_id); SELECT * FROM tbl_HeadOfDepts; END IF; КОНЕЦ CREATE TABLE tbl_HeadOfDepts ВРЕМЕННОЙ (biDept_id TINYINT (4)) INSERT INTO tbl_HeadOfDepts ЗВОНИТЕ rsHeadOfAnyDepartments (vcCompKey, biWho_id); SELECT * FROM tbl_HeadOfDepts; END IF; КОНЕЦ CREATE TABLE tbl_HeadOfDepts ВРЕМЕННОЙ (biDept_id TINYINT (4)) INSERT INTO tbl_HeadOfDepts ЗВОНИТЕ rsHeadOfAnyDepartments (vcCompKey, biWho_id); SELECT * FROM tbl_HeadOfDepts; END IF; КОНЕЦ
SPlatten
4

голосов
2

ответ
693

Просмотры

QString раскол в Qt 5.6

QString strTest = "ЗАКРЫТЬ \ Ndown"; QStringList slstLines = strTest.split ( "\ п"); В приведенном выше примере я ожидал бы список строк содержит два элемента, но содержит только 1, который является таким же, как strTest ... почему не расщепляется работает? Я также попытался: QStringList slstLines = strText.split (QRegExp ( "[\ п]"), QString :: SkipEmptyParts); Результат будет таким же.
SPlatten
1

голосов
3

ответ
497

Просмотры

Qt переводить последовательности символов

У меня есть: ºC Я хочу, чтобы перевести это для отображения в ºC Я использую Qt 5.6 есть встроенная функция, я могу позвонить, чтобы перевести эту последовательность? Qt имеет функции, чтобы перевести символ в управляющей последовательности: QString QString :: toHtmlEscaped () Но что мне нужно соответствующая функция для перевода на оригинал.
SPlatten
2

голосов
2

ответ
7.4k

Просмотры

Что VARBINARY (MAX) означает?

Я пытаюсь порт базы данных MSSQL к MariaDB и я столкнулся создание таблицы с использованием VARBINARY (макс): `definition` VARBINARY (макс) NULL DEFAULT NULL Что бы это на самом деле и есть ли определение эквивалент типа в MariaDB что я мог бы использовать?
SPlatten
4

голосов
4

ответ
1.4k

Просмотры

Java «100%» на номер

Есть ли встроенный в подпрограмме в Java, которая преобразует процент к числу, например, если строка содержит 100% или 100px или 100, я хочу поплавок, содержащий 100. Использования Float.parseInt или Float.valueOf результата в виде исключения. Я могу написать программу, которая будет разбирать строку и возвращает число, но я спрашиваю ли это уже есть?
SPlatten
5

голосов
2

ответ
717

Просмотры

socket.io клиент: как определить, если обработчик уже установлен

Что произойдет, если вы звоните «на» метод несколько раз для одной и той же функции на сокете? Есть ли называть его несколько раз просто overright последней зарегистрированной функции или не использует больше ресурсов? Если позже, то как определить, если обработчик уже зарегистрирован?
SPlatten

Просмотр дополнительных вопросов