問題タブ [freepascal]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
freepascal - パスカル-ファイルに書き込まない
ハウディ、パスカルマスター!カスタムレコードのファイルタイプがあります:
そして、新しい要素を開いてファイルに追加する関数:
問題は、実際には何もファイルに書き込まれないことです。私は何が間違っているのですか?
pascal - Pascal でバブル ソートを実装する際の奇妙なランタイム エラー
このスニペットは実行時エラーを引き起こすだけでなく、デバッガーを使用して実行すると FPC が閉じられます。
コード自体は非常に大きなソース ファイルの一部です。すべてを投稿できますが、エラーの原因はその行の束だけです。デバッガーは次の行で終了します。
tplayers は、スコア (整数) とその他の変数を含むレコードの配列として定義された型です。trplayers は前述のレコードのタイプです。私は完全に途方に暮れています。FPC (デバッグ モードではない場合) は範囲外エラーを吐き出しますが、ウォッチの下では、読み込もうとしている変数が存在することがわかります。どんな助けでも本当に感謝しています!
delphi - gcc アプリケーションから呼び出される Delphi/FreePascal DLL の作成
Win32 Delphi アプリの一部を別の会社の Linux gcc プログラムで使用できるようにする必要があります。
スループットと展開の要件により、あらゆる種類のリモート サービスが不適切になるため、FreePascal を使用して、gcc アプリが呼び出すことができる .SO (Linux の DLL に相当) を構築することを検討しています。
C/C++ を使用してから長い時間が経ち、Linux では使用したことがないため、gcc 呼び出し元との互換性のために DLL/SO インターフェイスをどのように構築するのが最善かについて少し確信が持てません。
これが私のデータ構造の表現です
この Process メソッドを FreePascal .SO 経由で外部から使用できるようにするには、これらの宣言をどのように変更する必要がありますか? 私はその線に沿って何かを考えています
私は正しい軌道に乗っていますか?私がこれを正確に行う必要はありません。他社のプログラマーが私のミスを修正してくれる可能性が非常に高いです。私が送ったものを見て、彼らがあまり笑ってほしくないだけです。
mysql - 外部アプリケーションからMYSQLをクエリしています(私のコードは非効率的ですか)?
できるだけ速く何度もクエリを実行する必要があるデータベースがあります。私のクエリはかなり速く実行されますが、さらに遅れがあるようです。
この遅れは、接続を毎回開始および非開始しているためだと感じています。これを回避する方法はありますか?
私はlibmysqlを使用していません(少なくとも、直接ではありません)。私はLazarus/FreePascal(delphiに似ています)で「mysql50」パッケージを使用しています。これは次にlibmysqlを使用します(私は思います)。
誰かが私のコードを見て、いくつかの非効率性を指摘した(あるいは修正した)場合は、本当にありがたいです。
このライブラリの目的は、MQL4(金融取引所市場向けのC言語に似た言語)から送信されたクエリを渡し、MYSQLデータベース(パイプを介して接続する)から単一の行を返すことです。
for-loop - Free Pascal-問題解決クエリ(構文ではない)-このループの次のフェーズにアプローチする方法
構文関連の問題というよりも、「問題解決」の質問が多いです。
簡単に言うと、1行に1単語ずつ、単語でいっぱいのテキストファイル(パスワードのリストである可能性があります)を読み取るプログラムを作成しています。ループ内のそのビットにReadLnを使用します。見つかったすべての単語について、最近のユーザーがパスワードに「E」の代わりに「3」を使用する方法、または「I」の代わりに「1」を使用する方法に合わせて、「量」の難読化を追加したいと思います。私はITセキュリティの分野で働いており、パスワードの解読はその一部であることが多く、それがプログラムの目的です。
私はこれまで、アルファベットの文字ごとに多くの異なる値でいっぱいのLEETテーブルを生成し、プロセスの一部としてアクセスできるStringGridにそれらをスタックするようにプログラムを作成することができました(また、視覚的に出力されますテーブル)。
私の問題はこれです:たとえば、「エドワード」という単語が与えられた場合、それを難読化するレベルをどのように決定すればよいですか?最初の文字「E」を「3」に置き換えるだけで、おそらくそれ以上のことはありませんか?または、最初の2文字の「E」と「d」をLEETテーブルのすべての文字のEとdの両方の値に置き換えます(「Edward」などから数十の新しい単語が生成されることを意味します)。または「E」のすべての値ですが、他には何もありません...リストは続きます。潜在的に、すべての単語に対して、私は何千もの追加の単語を作成することができます!100Gbのソースファイルはすぐにテラバイトになります!
つまり、プログラムが機能する「レベル」を設定し、ユーザーが決める必要があります。しかし、そのレベルをどのように構成するかわかりませんか?
だから私はそれを機能させる方法がわかりませんか?始める前は、十分に考えていませんでした。私の最初の考えは、「コンピューターから単語のインデックスを取得し、文字を難読化する人々を説明するためにすべての単語のバリエーションを生成するプログラムがあればクールだ」というものでした。しかし、それをコーディングするようになったので、私はそれが思ったよりも大きな仕事であることに気づき、実際に「入力ファイルをLEETする」セクションで立ち往生しています!
string - 文字列変数の一部の値を交換し、Free Pascalを使用して新しい値で書き戻すにはどうすればよいですか?
ReadLn(InputFile、strVar)を使用してテキストファイルから行を読み取った後、strVarの各文字を読み取る必要があります。たとえば、文字「E」が含まれている場合は、出力(新しいファイルへの書き込み、実際)元の変数ですが、「E」は数字の「3」に置き換えられます。
したがって、「Example」をファイルから読み取る場合は、「3xample」を新しいファイルに書き込む必要があります。
Free Pascalでスワッピングをコーディングするにはどうすればよいですか(ファイルビットへの書き込みを行うことができます)?他の言語にはスワップ機能か何かがあるようです。
ありがとう
テッド
freepascal - FreePascalで入力を単語ごとに読み取る方法は?
標準入力から単語ごとに読み取りたいと思います (つまり、入力文字列は常に空白で区切られた単語の集まりです)。今、私はread
関数を使用していて、入力文字を文字ごとに読み取ります。
出来ますか?ありがとう!
c# - FreePascal 64ビットDLLとC#アプリケーションの呼び出し
64ビットC#アプリケーションで使用するために64ビットdllをコンパイルしようとしています。簡単なクラスとそれをテストするための簡単なアプリがあり、何をしようとしても失敗します。コードは次のとおりです。
デルファイ
C#
誰かがそれで何か悪いことを見ることができますか、そしてこれを機能させるために同じ単純なシナリオを作成することに夢中でなければ、私は私のテザーの終わりにいます!
exception - GDB で FreePascal 例外をキャッチする
fpc でコンパイルされた巨大なパスカル コードがあります。ランダムな「EInOutError」例外が発生し、gdb を使用してデバッグしようとしています。
私はすでに fpc_raiseexception の中断、スローのキャッチ、例外のキャッチ、キャッチのキャッチを試みました。何も機能していないようです...
例外が発生したときに (gdb でバックトレースを行うために) どうすれば中断できますか?
windows - FreePascal で複数のライブラリをどのようにロードしますか?
最初の DLL は完全にロードできますが、2 番目の DLL をロードしようとすると失敗します。
情報:
- OS: Windows Vista
- FPC: 2.4.4
- 2 番目の DLL を EXE からロードしても、最初の DLL 内からロードしても、2 番目の DLL は失敗します。
- 最初の DLL が静的にロードされても、2 番目の DLL は失敗します。
- ロードする 2 番目の DLL はどちらでもかまいません。
- DLL のソース コードを管理しています。
- 外部依存関係はありません。
- 非常に単純な DLL で発生します。
- GetLastError() は 487 エラー (ERROR_INVALID_ADDRESS) を返します。
- FPC で生成された DLL でのみ発生します。
私には欠けているものがあり、それを理解することはできません。
ありがとう
回答: わかりました。問題が見つかりました。fp.cfg ファイルに -WN コマンド ライン スイッチがありました。