Есть ли инструкции для обновления Разработчика C++ приложения для Разработчика C++ 2009?

В выбранном вами случае рассматриваются имена рабочих листов, а не переменные, назначенные объектам рабочего листа.

Sub dateins()

    ' Date as Mo and year. Current month minus one.
    Dim dash As Worksheet, daily As Worksheet, mon As Worksheet
    Dim Thisday As Date, Rptmon As Date, ws As Worksheet

    Set dash = Sheets("Dashboard")
    Set daily = Sheets("Daily")
    Set mon = Sheets("Monthly")
    Thisday = Date

    Rptmon = DateAdd("m", -1, Thisday)
       For Each ws In ThisWorkbook.Sheets
        Select Case ws.Name
          Case "Dashboard", "Daily", "Monthly"
            If ws.Range("A2") = "" Then
                ws.Range("A2") = Rptmon
                ws.Range("A2").numberformat = "mmmm yyyy"
            End If
       End Select
      Next ws

End Sub

Вы хотите назначить истинную дату для A2 и позволить формату ячейки отображать "мммм гггг" .

6
задан Johan - reinstate Monica 6 May 2014 в 22:02
поделиться

2 ответа

Самой большой проблемой является совместимость для Разработчика C++ и предыдущие версии 2009 года, различия в Unicode - некоторые, но конфигурационные файлы проекта изменились также. Из обсуждений я следовал форумы CodeGear, нет большого выбора в вопросе.

Я думаю, что первое место запускается, если Вы не сделали так, Разработчик C++ информация о версии 2009 года.

Самой большой замеченной вещью был TCHAR, отображающийся (к wchar или символу); использование строковых вариантов STL может быть справкой, так как они не должны очень отличаться между этими двумя версиями. Отображение существовало в Разработчике C++ 2007 также (с tchar заголовком).

4
ответ дан 17 December 2019 в 02:35
поделиться

Для любого кода, который не обязательно должен быть явно Ansi или явно Unicode, вам следует как можно больше рассмотреть возможность использования определений типов System :: String, System :: Char и System :: PChar. . Это поможет упростить миграцию, и они работают в предыдущих версиях.

При передаче System :: String в функцию API вы должны учитывать новую настройку «TCHAR maps to» в параметрах проекта. Если вы попытаетесь передать AnsiString :: c_str (), когда «TCHAR сопоставляет с» установлен на «wchar_t», или UnicodeString :: c_str (), когда «TCHAR сопоставляет с» установлен на «char», вам придется выполнить соответствующие приведение типов. Если у вас есть «TCHAR maps to», установите значение «wchar_t». Технически UnicodeString :: t_str () делает то же самое, что и TCHAR в API, однако t_str () может быть очень опасным при неправильном использовании (когда для «TCHAR maps to» установлено значение «char», t_str () преобразует внутренние данные UnicodeString в Ansi).

Для «сырых» строк вы можете использовать новый тип RawByteString (хотя я не рекомендую его) или вместо этого TBytes (который представляет собой массив байтов - рекомендуется). Вы не должны использовать Ansi / Wide / UnicodeString для несимвольных данных для начала. Большинство людей использовали AnsiString как временные буферы данных в прошлых версиях. Не делай этого больше. Это особенно важно, поскольку AnsiString теперь поддерживает кодовые страницы, и поэтому ваши данные могут быть преобразованы в другие кодовые страницы, когда вы меньше всего этого ожидаете.

2
ответ дан 17 December 2019 в 02:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: