I have a problem with turkish keyboard on delphi berlin ide. When i write i letter it doesnt list code completion insted of ı letter. For example write listbox doesnt list but write lıstbox and ctrl+space is listing. I think there is string bug on ide.

Comments

  1. Those things happen when you change all AnsiUpperCase to the string helper function ToUpper. While the former redirects to CharUpperBuffer, the latter uses LCMapString. The remarks to CharBufferUpper in MSDN say: "Note that CharUpperBuff always maps lowercase I ("i") to uppercase I, even when the current language is Turkish or Azeri. If you need a function that is linguistically sensitive in this respect, call LCMapString." With that in mind ToUpper is not the same in functionality as AnsiUpperCase.

    ReplyDelete
  2. I am not surprised the IDE mixes up the I i İ ı handling.

    Historically, USA made tools have a lot of issues with internationalisation (i18) and localisation (l10). Delphi is no exception, on the contrary: it has had a long list of issues when initially covering German and French languages and later Japanese.

    I am a bit surprised that you post this so shortly after plus.google.com - What's the Delphi equivalent of doing UpperCase with an InvariantCulture in U... as no Turkish people responded there so I was getting the impression Delphi was hardly used in Turkey at all.

    File a bug on this with good explanation and reproducible steps. Then be patient as it can take several Delphi versions for such bugs to be fixed if fixed at all.

    ReplyDelete

Post a Comment