X



くだすれDelphi(超初心者用)その59【Embarcadero】
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
垢版 |
2021/09/24(金) 11:16:27.40ID:gP9hkwVT
Delphi(デルファイ)について、他のスレッドでは書き込めない超低レベル、もしくは
質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。

Delphi使いが優しくコメントを返しますが、お礼はDelphiの布教と初心者の救済をお願いします。

■ Delphi 11
http://www.embarcadero.com/jp/products/delphi

■ Delphi Community Edition (無料)
iOS、Android、Windows、macOS 向けアプリも開発可能。年間売上5000 US$以内の商用開発可。
https://www.embarcadero.com/jp/products/delphi/starter

<前スレ>
くだすれDelphi(超初心者用)その58【Embarcadero】
https://mevius.5ch.net/test/read.cgi/tech/1583919039/

■ 便所の落書きレベルの個人的な悪口やきつい言葉(氏ねとか)は禁止だからな。
■ Embarcaderoヲッチャ的な内容も歓迎だ。

■ 誰も立てないから立てた。さあ語れ。
0952デフォルトの名無しさん
垢版 |
2023/09/15(金) 15:16:18.48ID:OMHXOFWv
c++は昔はしんどかったけど、着実にパワーアップして
async、awaitに対応したmodern c++のほうがもう開発しやすい
0953デフォルトの名無しさん
垢版 |
2023/09/16(土) 17:08:59.24ID:9WGgHKEv
>>950
どういう意味で言ってるのか分からないけど
何でもイベント駆動ってのはちょっと

例えばちょっとTTimer使おうとしても
OnTimerプロシージャ作るのって面倒

ローカル関数の中で
TTimer.Create(Interval,
procedure (var Repeat: boolean)
Repeat := DoSomething(...)
);
とか出来たら便利かも
0957デフォルトの名無しさん
垢版 |
2023/09/19(火) 19:06:57.50ID:PGDiEw/A
開発にほんと金のかからなそうな機能しか追加しねぇ
くそゴミ製品極まれりって感じだな
0958デフォルトの名無しさん
垢版 |
2023/09/20(水) 14:23:21.96ID:WOyc/V9x
>>956
エディタ依存じゃない?(タブならタブ、スペースならスペースが入ったまま)
ただバグのもとになりそうで使うの怖いっていいたいけど
Delphi10でうちはエンバカとは手を切ったから使えないけど
0959デフォルトの名無しさん
垢版 |
2023/09/25(月) 23:58:27.45ID:rfUIZo8u
再現方法がいまいち不明だけど、for i := 0 って書くとローカル変数宣言に
i : integer;があるにも関わらずi : TObject;が自動で追加されてエラー吐く事があるんだがおま環?
変数宣言に児童追加ってオプションあったっけ?
バージョンは11.3
0962デフォルトの名無しさん
垢版 |
2023/09/30(土) 18:03:43.73ID:J8mq72sd
>>960
元々あった方の
i : integer;
に飛んだ

うーん、自動追加された方の宣言を消せば良いだけではあるんだけど突然現象が発生したらイラっとするなぁ
0964デフォルトの名無しさん
垢版 |
2023/10/03(火) 09:04:26.78ID:64CI1+Kr
>>963
無いです
0966デフォルトの名無しさん
垢版 |
2023/10/07(土) 17:17:45.53ID:RWlX3DIZ
ちょっと教えて

'0'から'9'の数字をUnicodeの数学用特殊文字 $1D7EC から $1D7F5 に変換したいとき
var Ch='1';
var C := Chr($1D7EC + Ord(Ch) - 48);
とかはダメですよね。3バイトのUnicode文字を生成するにはどうしたら?

ちなみに $1D7EC から $1D7F5 を文字列配列定数にしておいて
そこから選んで、例えばMemoに表示するのは問題なくできてます

https://i.imgur.com/4w7mJUy.jpg
0967デフォルトの名無しさん
垢版 |
2023/10/07(土) 22:00:50.11ID:xRoQ9uLI
そこまで範囲が広くないならその文字の配列でも作ってChを数値に変換してインデックスにでも指定すればいいんじゃ
0968デフォルトの名無しさん
垢版 |
2023/10/08(日) 10:57:00.47ID:CrdCteTP
WideChar()
0969デフォルトの名無しさん
垢版 |
2023/10/08(日) 11:18:05.77ID:B6B8jkk1
Unicode文字コードからUTF16エレメントへの変換くらいCharでできなくても
SysUtilsにない?と思ったけど見つからないな

関数書いてみたけどレスしようとしたらブロックされた
0971966
垢版 |
2023/10/08(日) 13:45:55.24ID:3DOqHjg/
レスありがとう

いろいろ探したり試行したりしたらUCS4Stringで可能だった
var St: UCS4String;
SetLength(St, Length(Text) + 1);
i := 0;
for var Ch: Char in Text do begin
if Ch in ['0'..'9'] then
St[i] := UCS4Char(Ord(Ch) - 48 + $1D7EC);
...
Inc(i);
end;
St[i] := 0;
result := UCS4StringToUnicodeString(St);
とか

ただHelpには書かれてなかったけど
UCS4Stringはnullで終端させる必要があるのかなぁ?
少なくともUCS4StringToUnicodeStringで最後の文字が無視される
0972966
垢版 |
2023/10/08(日) 13:46:17.17ID:3DOqHjg/
レスありがとう

いろいろ探したり試行したりしたらUCS4Stringで可能だった
var St: UCS4String;
SetLength(St, Length(Text) + 1);
i := 0;
for var Ch: Char in Text do begin
if Ch in ['0'..'9'] then
St[i] := UCS4Char(Ord(Ch) - 48 + $1D7EC);
...
Inc(i);
end;
St[i] := 0;
result := UCS4StringToUnicodeString(St);
とか

ただHelpには書かれてなかったけど
UCS4Stringはnullで終端させる必要があるのかなぁ?
少なくともUCS4StringToUnicodeStringで最後の文字が無視される
0973デフォルトの名無しさん
垢版 |
2023/10/08(日) 14:57:24.78ID:CrdCteTP
SetLength()して使う限り終端は不要
0974デフォルトの名無しさん
垢版 |
2023/10/08(日) 17:45:45.08ID:B6B8jkk1
Pascal文字列以外の文字列型はnull末端のために内部的には文字列長+1文字分確保されるけど、
UCS4Stringは文字列型ではなく動的配列なのでnull末端分を配慮してくれない
0975デフォルトの名無しさん
垢版 |
2023/10/08(日) 18:22:14.40ID:3DOqHjg/
なるほど

UCS4StringToUnicodeStringのコード見て理解した

ていうか、そこに出てるサロゲートペア文字の文字コードを
2個のWideCharに変換する式だけ抜き出して使えば
UCS4Stringは使う必要がないことに気づいた

emojiを文字コードで処理するときに使えそう
0977デフォルトの名無しさん
垢版 |
2023/10/09(月) 17:39:54.26ID:x3CGnSEg
正しかっただろうと言われてもWideCharというヒントだけじゃ分からないよ

function CharCodeToString(Code: DWord): string;
begin
if Code >= $10000 then
 result := WideChar((((Code - $00010000) shr 10) and $000003FF) or $D800) +
  WideChar(((Code - $00010000) and $000003FF)or $DC00)
else
 result := WideChar(Code);
end;

var S := CharCodeToString($1F44D); // 👍
0979デフォルトの名無しさん
垢版 |
2023/10/19(木) 15:20:59.03ID:CR40Km/G
D6使ってます。
ListView の ViewStyle := vsReport (MultSelect := True) で質問です。
上下用のボタンをそれぞれ配置して1押しで1行入れ替わるというのなら見つけられたのですが
↓こんなのとか
https://forum.lazarus.freepascal.org/index.php?topic=37638.0

Item行が複数ある内の1行(又は複数行)をマウスの左押しSelectedドラッグのでマウス移動のドロップで任意の行に移動挿入させる
分りやすそうなTipsサンプルソースはどこかにありませんか?
0981デフォルトの名無しさん
垢版 |
2023/11/03(金) 08:34:31.15ID:o6heXx3i
メンテ続くのか心配になるような寂しすぎる数字だな

CnWizards 1.2.8.1150 Installer (160 times)
0982979
垢版 |
2023/11/05(日) 15:12:55.90ID:hrvMW1Wv
>>980
ありがとうございます。
参照してみます
0983デフォルトの名無しさん
垢版 |
2023/11/10(金) 03:36:00.94ID:Py+YaXOi
Delphi12が出たな
とは言えCE使いの自分は早くて1年後か
アイコンジェネレータ(だっけ?)あれはすぐにでも欲しい
0984デフォルトの名無しさん
垢版 |
2023/11/12(日) 22:02:25.11ID:+U+VDWFn
DelphiはプログラミングAIとは無縁だと思ってたけど
Bingでちょっと検索しようとしたら勝手に回答が得られた
内容はメモのキャレット位置に文字を入力

https://i.imgur.com/o62pxWE.png

単に検索した内容をそれっぽく表示しただけだろうけど
0987デフォルトの名無しさん
垢版 |
2023/11/16(木) 00:05:16.75ID:cpEmTaQF
AIにDelphiのちょっと難しい事聞くとありもしない関数でっちあげて、さも動くような回答してくるぞ
0988デフォルトの名無しさん
垢版 |
2023/11/18(土) 10:27:44.88ID:cPcQRb0C
Delphi12のヘルプ、Sample Codeとして外部リンクしているやつのURLがおかしいね
TXMLDocumentSaveToFileを例にとると、リンク先が
http://docwiki.embarcadero.com/codeExamples/Yukon/en/TXMLDocumentSaveToFile_(Delphi)
となっててNot Foundになる
Yukon を Athensに書き換えると表示される
0989デフォルトの名無しさん
垢版 |
2023/11/18(土) 14:30:52.25ID:wkZxFd4v
円馬鹿のヘルプは表示されても全然意味ねーヘルプだもんなあ
まったく使い物にならないと思う
0990デフォルトの名無しさん
垢版 |
2023/11/19(日) 12:34:37.07ID:BoNVo4Qp
Delphi3ぐらいまでのヘルプはムチャクチャ良かったんだぜ、その頃はMSのヘルプも良かった(ただの思い出話)
0993次スレ立てました
垢版 |
2023/11/23(木) 20:09:48.90ID:KAoTyDwD
■ 誰も立てないから立てた。さあ語れ。
くだすれDelphi(超初心者用)その60【Embarcadero】
https://mevius.5ch.net/test/read.cgi/tech/1700737330/l50

間違ってる部分や過去に改善部分の指摘があったのなら
1へのアンカー付けて変更部分含めた全文を次回立てる人向け用で分かるように
2以降に申し送り用として貼っておいてください。
0995デフォルトの名無しさん
垢版 |
2023/11/26(日) 04:50:54.28ID:vJBrQd0Z
>>938
出るπは吸われる
0997デフォルトの名無しさん
垢版 |
2023/11/26(日) 12:54:39.33ID:d/KzVdDP
delΦ
0998デフォルトの名無しさん
垢版 |
2023/11/26(日) 12:54:54.22ID:d/KzVdDP
うめ
1000デフォルトの名無しさん
垢版 |
2023/11/26(日) 12:55:38.68ID:d/KzVdDP
糸冬
10011001
垢版 |
Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 793日 1時間 39分 12秒
10021002
垢版 |
Over 1000Thread
5ちゃんねるの運営はUPLIFT会員の皆さまに支えられています。
運営にご協力お願いいたします。


───────────────────
《UPLIFT会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────

会員登録には個人情報は一切必要ありません。
4 USD/mon. から匿名でご購入いただけます。

▼ UPLIFT会員登録はこちら ▼
https://uplift.5ch.net/

▼ UPLIFTログインはこちら ▼
https://uplift.5ch.net/login
レス数が1000を超えています。これ以上書き込みはできません。

ニューススポーツなんでも実況