くだすれDelphi(超初心者用)その57 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
Delphi(デルファイ)について、他のスレッドでは書き込めない超低レベル、もしくは
質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。
Delphi使いが優しくコメントを返しますが、
お礼はDelphiの布教と初心者の救済をお願いします。
■Delphi XE6 Professional/Enterprise/Ultimate/Architect エディション(トライアル版有)
64bit Windows、Mac OS XからiOS、Androidのアプリも開発可能。ライブラリのソースコード付き。アカデミックライセンス有り。
旧バージョン(XE6/5/4/3/2/XE/2010/2009/2007/Delphi 7)のライセンス取得とダウンロードが可能。(アカデミック不可)
ttp://www.embarcadero.com/jp/products/delphi
■Delphi XE6 Starter エディション
個人/5人以下の企業・組織向け。年間売上1000US$以内の商用開発可。
(※)Delphi、Visual Studio等の有償/無償の開発ツールユーザーが対象。インストール確認は特に行わない。
ttp://www.embarcadero.com/jp/products/delphi/starter
■Embarcadero RAD Studio XE6 (Delphi、C++Builder、HTML5 Builder等を含むビジュアル開発スイート)
ttp://www.embarcadero.com/jp/products/rad-studio
<前スレ>
くだすれDelphi(超初心者用)その56
http://echo.2ch.net/test/read.cgi/tech/1405783063/
<過去スレ>
DelWiki (Delphi 関連の過去スレッド)※行方不明
ttp://delwiki.info/? >>496
もう仕様書作って金出してコード納品してもらった方が速い アドバイスも何も....
D&Dで取得したファイル名を
そのメソッド内でのみ有効なローカル変数に代入して終わりなの?
変数のスコープを理解してないのかな
てか、いろんなサンプルを参照して利用してるが
意味も分からずやってるでしょ
他人のコードを利用するなら
まずそのコードを理解しようと努めないと
永久に進歩はないね >>496
>(送るだとListBoxに反映されますがD&Dだと反映されない。)
D&Dを受け取る WMDropFiles 内にListBoxに反映させるコードが無いんだから反映されるわけが無い 動くまでいじくり倒すしかない。なんで動かなかったのかわかるまで調べる ListBoxへの反映の仕方が分かったので対処ができました。
ですが、曲名を集中管理している変数にLtstBoxのアイテムを代入しようとする
StringtoTstringに互換性がありませんと表示され、他の曲への反映ができません。
聞くところによれば、ポインタの知識とオブジェクトへの深い理解が必要だと聞きました。
コメントをいただければと思いいます。
https://www.axfc.net/u/3908351?key=delphi
本当にポインターの知識が必要ならアプリを作るのには時期尚早なのかもしれません。
よろしくお願いいたします。 こんな文字列処理メインのコードにポインタの出番はないでしょう
ListBoxの選択項目を取り出すのは、あなたが>>464に書いている通り
問題はListBoxに追加した項目が保持してる内容
ファイル名? パス付き?
あと老爺心で言うんだけど、メインの部分がまったく機能してないのに
サブの部分を追加してるのはどうかと
全体の見通しが悪くなるだけだよ
ドラッグ&ドロップと音量関係のルーチンのない状態で
ListBoxの内容を完璧に再生できるように
新規プロジェクトから始めたほうがいいよ TString型からString型へのキャストはどうしたら良いのでしょうか?
ずっとここで詰まっています。
コンパイラにはString型とTString型には互換性がないと怒られ
Listbox.item.text
みたいな感じにするとString型へ文字列が渡せません。
色々ネットで調べてみましたが、何か今ひとつ分からないままでいます。 本当か?本当にTStringとStringの違いがわかったのか? 僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
401Z3 >>505
何年間も同じとこクルクル回って進歩してないな >>507
本当は分かっていません。
ただ、もう少し試行錯誤が必要だと判断しました。
TstringからStringに渡すのはそんなに難しいとは思えないのですが……。
>>509
コンパイラをいじっている時間があまりなくて
今回も数年ぶりに(昔このスレで正月に作ったメディアプレイヤー)触ってますので
進歩してなくて、さっぱり分からないことが相変わらず多いです。 >>510
値、配列、値のリストという概念があるとして stringはどれで Tstringはどれにあたるか分かる? "Tstring"という言葉が気持ち悪いので、そろそろ訂正してくだいませんか? >>510
あのな、良いこと教えてやる
一番薄い「言語ガイド」というマニュアルがあるからそれ読め
最初の1ページ目から最後のページまで全部読め
判らなくても良い、難しくても良い、とにかく1冊全部読め
読み終えた次の日から、きっと新しい世界が見えるはず
読まなきゃお前さん、一生そのままだぞ TStrings String型 TStringList AnsiString UTF8String・・・等々 いっぱいあるね >>510
名前が似ていても型が違うなら別物として考える
別物でも異なる型への変換方法が明示的に設定されていれば容易に渡すことが出来る
TStrings と String は別物
じゃあTStrings から String に明示的な変換方法が設定されているのか?を調べれば解決する
ヘルプを起動しTStringsと入力しろ
そして戻り値がStringになっているメソッドを探せ
どうでもいいことなんだが名前欄に自分のレス番号を入れるのは現在進行している質問の最初のレス番号を入れるべきだと思うんだ
今回のケースなら447ではなく505だな
そうすることで主題となる質問を見ることが出来て、また辿ることが出来る 普通に教えてやりゃいいじゃんか
sがついてるからstringが複数扱えるクラスなんだろ?
男のくせにチマチマ、ネチネチ、そりゃお前らは一生結婚できねぇわw はいはい
まあ聞きまくるやつにも問題はありそうだが、
狭い世界のちんこい知識でどんだけ上から目線なんだろね あー
そんなことを書くぐらいなら510に教えてあげればいいんじゃないの?
しょせん目くそ鼻くそなのに、ずいぶんと上から目線だねw >>513
昔言語ガイド印刷してたのを忘れていました。
今読むと昔は分からなかったことが分かるようになってきました。
プロジェクトを作る前に最後まで読んでみます。
>>516
そう複数なんですよね!だからListBoxでindexで数字でターゲットを選べると言うことに気がつきました。
読みにくい文で済みません。
>>515
TStringで検索かけたところ膨大な数のメソッドが出てきて
悩んでいます。
まずは大事なことがたくさん書いてある言語ガイドをよく読んでから理解してから
再チャレンジします。
レスしてくれた皆様ありがとうございました。 >522
TStrings ですね。
複数のStringを束ねられるのでindexの数字で必要なオブジェクト(!?)を選択できるのですね。
今はプロジェクトを中断して言語ガイドを熟読しています。
今までで分からなかったことがしっかり書いてあるので
安易に入門書を読む前にこっちを読むべきでした。 初心者にはDelphi6あたりのHelpがいいんだけどな
最近のHelpは不親切で、基本がわかっていない初心者には使いづらいだろうなと思う 頑張れ‼??誰でも最初はなんも知らんからね
ちゃんと覚えていろんなもん作れるようになってね >>524
Delphi6買っとけば良かったなと思っていたら、初心者の入門書に収録されていました。
早速インストールしてみます。
ですが、皆様はシステムライブラリのヘルプを見て手続きや関数などを覚えたのでしょうか?
>>526
職業はコンピューター関係でなく、時間が空かないとコンパイラを使うのも
厳しいために今回は5年ぶりくらいにコンパイラーいじっていますので
最初になってしまいます。
普通こんだけ叩かれたらプログラミングを諦めてしまうと思いますが、
双六ゲームがどうしても作りたいのでかじりついて離れずにいます。 >>527
叩かれるのはどれだけ親切丁寧に説明しても同じ場所を延々ぐるぐる回り続けてるからだよ >>527
>Delphi6買っとけば良かったなと思っていたら、初心者の入門書に収録されていました。
本の名前教えて。
俺もDelphiのHELP欲しい。 >>510、>>527
MCIさんでしょ?
オーディオプレーヤは諦めて双六ゲームにしたの? >>530
下のURLの「Borland Delphi 6 ドキュメントアップデート #1」って
ダウンロードしたら使えるんじゃ?
もっとも .hlp はWindows10とかだと、そのままじゃ読めないと思けど
http://support.embarcadero.com/jp/article/35932 このアップデートファイルは、Delphi 6 のライセンスユーザー向けに提供されるものです。
このファイルの使用に関しては、製品に同梱されたソフトウェアご使用条件に準じます。 >>533
アップデートファイルを単独で使用するなってこと?
そもそもdelphi 6 personalってフリーなんだから
その程度はいいんじゃない? Unicode 正式対応したのは
どのバージョンから? >>531
MCIいじってますよ。
ただ今は、TStringsと戦ってます。
>>528
そうですね。
理解が追いついていかない。ふがいないなぁ。 >>538
string型のutf8化は2009から。
ucs2程度やwidestringであれば、少なくともdelphi7でも使えてる。 結局
>今回は5年ぶりくらいにコンパイラーいじっていますので
5年ぶりとかやる気ないだけだから教えるだけ無駄。 てか5年ぶりじゃないだろ
去年の夏も散々質問してたし
その1、2年前も来てたし
思うに、やるときは集中的にやって初心者脱出しないと
永遠に初心者のままだろ 直そう直そうと思っている毎日使っている自作ソフト、最後にビルドしてからまもなく10年になるわぁ Delphiに直結する話題じゃないけど
ちょっとお知恵を貸してください
公開してるDelphiで作ったツールがあるんですが
ツール内にサポート用の掲示板みたいなのを実装したい
方法としてどんなのが考えられる?
やっぱ最低でもcgi使えるサーバとか必要? >>548
1.適当に掲示板スクリプトを設置してTWebBrowserで表示
2.BaaS使ってRESTでやり取り
3.SQLにFireDACで直接接続
4.WindowsVPS(Linuxに吐けるならLinuxでも可)でDataSnap
好きなのをどうぞ >>548
まあ書き込みを送信する場所と書き込まれたものをダウンロードできる場所は必要だろう
サーバ借りなくても個人が固定IP契約しているならそのIP宛にすることも出来るし
固定じゃなくてもダイナミックDNS使えるルータとか使っているならそれを利用するのも手
適当なレンタルサーバでも月2000円も掛からないからそういうの使うのがベストだけど
というかしたらばあたりにスレ立ててそこを表示するようにするのはどう?
5chと違ってAPIいらんし レスが遅くなりました
やっぱそんな感じですよね
配布サイトはcgi使えないのでレンタルサーバか自宅サーバですよね
したらばはスクレイピングが可能だったらいいかも
あとは、データは配布サイトに置いて投稿はメール経由かな よく考えたら、したらばはスクレイピング不要で
旧2ちゃんと同じでdatファイルを直接ダウンロードできるんでしたよね
したらばにしようと思います
p2pは理想だけど、開発側も利用者側も障害が大きすぎるような delphi10.2を使っています。
ActiveXのコンポーネントを追加するのにdclusr.dpkをあらかじめインストールしようとしても
dclusr.dpkが正しくないとかのエラーが出てしまいます。
dclusr.dpkって他のPCに入っている同バージョンのものをコピーしてもいいものでしょうか? 全然的外れとは思うけど
delphiを管理者権限で起動してる? 確認してみます。
コピーしようとしたpcはすんなり出来たので管理者とか気にしてませんでした。
ありがとうございます。 めっちゃ便利になった
sc7b & i:: ; Ctrl+無変換+iでbeginを上方検索
ImeOff()
if GetKeyState("Ctrl", "P")
{
send,^k8
send,^qfbegin{enter}
send,^q8
send,^+l
send,{home}
}
else
send,{up}
return
sc7b & k:: ; Ctrl+無変換+kでendを下方検索
ImeOff()
if GetKeyState("Ctrl", "P")
{
send,^qfend{enter}
send,{left}{right}
}
else
send,{down}
return Indyのヘルプについて教えてください
delphi 10.2.3を使っていて、IndyのIdCookieを使うのにヘルプを見たんですが
どうも自動補完される項目とヘルプの内容が一致していないみたいです
事実、古いネット上のサンプルでもpropertyなどが認識できないと
エラーが出るんですが、ヘルプにはちゃんと記載されています
もしかして、ヘルプの内容がかなり古い? >>560
ありがとう
早速ダウンロードしてみます Delphi 10.2.3に付属しているIndyのヘルプのバージョン 10.1.5
>>560に書いてあるところにあるやつは 10.5.8.3だね
10.1.5のヘルプは、実際にバンドルされているIndyとではいろいろと
違っている部分があるんで使えないんだよね
エンバカはよくこんな状態で製品として出してるもんだと思う
まぁIndyの公式Webページにあるヘルプが更新されずに放置状態なせいでもあるんだろうけど OutputDebugString(v: TValue);
みたいなのを作りたいんですが
vが配列だろうがレコードだろうがクラスだろうが文字列化するサンプルコードがあったら教えてください case VarType(バリアント型) of
varNull: 〜;
varSmallint,varInteger,varshortint,varByte,
varword,varlongword,varint64,varqword: 〜;
varSingle,varDouble,vardecimal: 〜;
varBoolean: 〜;
varArray: 〜
else 〜
end;
みたいなのはどうか fmxのlistviewで遊んでんだけど
各Itemの高さがvariableだと
ScrollToが正しく機能しないな
てか希望する行にプログラムでジャンプできない
これって... 昨日からずっと悩んでたんだけど原因が分かった
Itemを追加した直後にScrollToを実行していたのがマズかった
というのも個々のItemの高さの計算をUpdateObjects
イベントで行っているので、いったんシステムに制御を戻して
すべてのItemの高さを計算させた後でないと
ScrollToを正確にできないじゃないかと lヽ ノ l l l l ヽ ヽ
)'ーーノ( | | | 、 / l| l ハヽ |ー‐''"l
/ C | | |/| ハ / / ,/ /|ノ /l / l l l| l C ヽ
l ・ i´ | ヽ、| |r|| | //--‐'" `'メ、_lノ| / ・ /
| M l トー-トヽ| |ノ ''"´` rー-/// | M |
| ・ |/ | l ||、 ''""" j ""''/ | |ヽl ・ |
| Y | | l | ヽ, ― / | | l Y |
| !! | / | | | ` ー-‐ ' ´|| ,ノ| | | !! |
ノー‐---、,| / │l、l |レ' ,ノノ ノハ、_ノヽ
/ / ノ⌒ヾ、 ヽ ノハ, |
,/ ,イーf'´ /´ \ | ,/´ |ヽl |
/-ト、| ┼―- 、_ヽメr' , -=l''"ハ | l
,/ | ヽ \ _,ノーf' ´ ノノ ヽ | |
、_ _ ‐''l `ー‐―''" ⌒'ー--‐'´`ヽ、_ _,ノ ノ
 ̄ ̄ | /  ̄ 炎猿でwindows以外のOSアプリ開発している人にお聞きしたいのですが、スマフォとかがアップデートされた場合動かなくなるとか、デバッグ出来なくなるとか不都合はないですか? まぁそんな致命的そうな問題あるなら既に話題になってるだろう。それぐらいの信仰心ないならエンバカ製品使わない方がいい。 AppleはMetal必須化するけどちゃんとコンパイラ出してくれるのかな OpenGLから、Vulkanに移り行きそうな流れだし、Androidもサポートしてるから、安泰とは言えないかも・・・。 以前作ってたメディアプレイヤーですが、あるていどは出来上がったのでご評価いただければと思います。
https://www.axfc.net/u/3921358?key=delphi
今のところ.wav限定です。
既知の不具合
notfyを自前で無理矢理作っていて機能していない
トラックバーで自由にスライダーが動かせない(経過時間の方)
よろしくお願いいたします。 以前作ってたメディアプレイヤーですが、あるていどは出来上がったのでご評価いただければと思います。
https://www.axfc.net/u/3921358?key=delphi
今のところ.wav限定です。
既知の不具合
notfyを自前で無理矢理作っていて機能していない
トラックバーで自由にスライダーが動かせない(経過時間の方)
よろしくお願いいたします。 D6です。
既存の .dll を調べて exports 関数の受け渡しの型やパラメータを知るやり方はありますか?
昔の物で ナビンユーというパソコン用ナビソフトがあって、
それ用に市販GPSレシーバーと繋ぐ .dll を過去有志により幾つか作られてフリー公開されていました。
当時はWin95-98全盛からWin2k〜xp以降期ほどで
COM ポートが1〜6番?まで ボーレートも9600bpsまでというOS?の制約を引きずってさらに 4800bps固定のTokyo測地系(日本ローカル)という物で
ニフティサーブも終わり多くのフリーツールと共に作者さん達も消えていきました。
年数が過ぎ、性能も良く価格もお手ごろ感なGPSロガー兼GPSレシーバーが巷に溢れると
今度は通信速度が9600bpsが最低クラス機種、良い物は 38400bps や 57600bps で WGS84測地系(世界基準) なんてものでして
それらを使うには、
D7環境用で公開されていた TComPort という COM 1〜256 ポート番号、300〜256000bps までのフリー物があり入れて
自作の高速COMポート←→低速COMポート受け渡し&測地系座標変換プログラム と 仮想COMポートを使ってました。
接続がそうとう手間で使用はお蔵入りに・・・。
最近になって dll の作成を思い立ち
要は、TComPort を使って自作の .dll が作れないものかと
.dll の exports 関数名に関しては、ResHacker というフリーツールで
GpsdevClose
GpsdevGetSupportedDevice
GpsdevOpen
GpsdevSetGeodeticSystem
GpsdevSetInitialPosition
この5つということは確定しています。
適当な型で宣言してコンパイルしてダンプリストで比較してみましたが分らず・・。
一応入手していた公開最終版の.dllを2種類zip圧縮でUPしておきます。
ttp://www1.axfc.net/u/3921897.zip
KNLink の方はDelphiで作られているそうです。
誰か型が分れば他の有志が開発しやすい用に晒してくださるとありがたいです。 Introducing Delphi and C++Builder Community Edition
https://community.embarcadero.com/blogs/entry/introducing-delphi-cplusplusbuilder-community-edition
Community EditionをDLしようとレジストの際に電話番号ではじかれます
なにか方法があるのでしょうか? >>584
ログインしてからダウンロードすると良いかもしれない firemonkeyでWindowsとAndroidアプリを作るとき
SpeedButton用の画像のサイズって
どのくらいにすればいいの?
StyleLookupにないんでGoogleのフリーアイコンを
使おうと思ってるんだが Dependency Walker
ttps://www.off-soft.net/ja/software/develop2/depens.html
と
Visual Studio 付属 dumpbin
というのでも関数名だけしかワカンネ
ILSpy_Master_2.3.0.1827_Binaries 起動できない。
Visual Studio 付属 Ildasm もダメっぽい。
暑くてなーんも進まない DLL調べるならデバッガで追いかければいいんじゃない? OllyDbgとかで 質問です。
他言語の計算式が解らず置き換える場合のデルファイ式はどういう構成になるのでしょうか?
えぬじーだらけで書き込めないのでソース含んだテキストのアプロダアドレスは以下に書いています。
https://agree.5ch.net/test/read.cgi/mango/1532726276/389
ひっかかりだらけで掲示板が使いにくくなってますね。
マンゴー板絞り込みスレを経由すれば書けるということだね 今見てみたけど4バイトの浮動小数点数と各バイトの相互変換だよな
共用体使えば式は不要だと思う
可変長レコード(だっけ?)で検索 Delphiで書けないんだったら、日本語で何がしたいのか書けよ。
Perl語なんて俺は知らんから。
f: single;
f := StrToInt( '$'+ '4D' );
で, fに77が入る。
int -> sigle は暗黙の型変換でいけるが逆は要関数呼び出し(キャスト禁止)。 >592-583
ややこしくてすみません。
https://agree.5ch.net/test/read.cgi/mango/1532726276/496
↑元ソースあどれすも記載しました。
>>592 ありがとうございます。夜にでも調べてみます。 >>592
どうやら>590 先のサブルーチンはズラして60進法座標にしてるだけのようです。
バイナリ読み込んで浮動小数点数にするパールの変換方式がまださっぱり分りませんが、適当にがんばります。
Delphi の Single 〜 Extended とか浮動小数点数を16進バイナリに直接相互変換みたいな内部関数ってありましたっけ?
現状D7でIEEE754-SingleとDouble は外部関数で使っていてそれだけでかなりサイズが大きくなってしまう。
浮動小数点型の数値はメモリ上でどのように格納されているのか C C++
2. 浮動小数点型の値のメモリ上での並び
ttps://qiita.com/nia_tn1012/items/340a1f0ad71bf6085f7f
元の値 : 1.024000
内部表現の値 : 3F83126F
↑
この例では、IEEE754-Single でした。
>>593
IEEE754 単精度浮動小数点数(float)の文字列とかいろいろ入れても
ただの整数になるようですが?
var
f: Single;
begin
Edit_Single.Clear;
if (Edit_IEEE754_HexSingle.Text <> '') and (StrToIntdef('$' + Edit_IEEE754_HexSingle.Text,-1) <> -1) then
f := StrToInt( '$'+ Edit_IEEE754_HexSingle.Text );
Edit_Single.Text := FloatToStr(f);
end else Edit_Single.Text := '入力エラー';
end; >595
パールスレでの名前欄 「427です」 がそのまま入ってしまいました。
>>590 です ■ このスレッドは過去ログ倉庫に格納されています