ackapapa の回答履歴

全25件中1~20件表示
  • 動かないです

    おかしなところが有ったらアドバイス・修正等お願いします。 うしろ3行を表示させたいです。 0~2行の場合はその分だけ表示させたいです。 # include <stdio.h> # include <stdlib.h> # include <string.h> char *getline(void) { char *buf = NULL; int size = 0; int oldsize; do { oldsize = size; size = size * 2 + 80; buf = realloc(buf, size + 1); if(!buf) { fprintf(stderr, "memory allocation failed\n"); exit(1); } if(!fgets(buf + oldsize, size + 1 - oldsize, stdin)) if(oldsize) break; else { free(buf); return NULL; } }while(strlen(buf + oldsize) == size - oldsize); return buf; } void scan(char **lines, int n_lines) { char *p; int i; for(i = 0; i < n_lines; i++) lines[i] = NULL; while(p = getline()) { free(lines[0]); for(i = 0; i < n_lines - 1; i++) lines[i] = lines[i+1]; lines[n_lines - 1] = p; } } void print(char **lines, int n_lines) { int i; for(i = 0; i < n_lines; i++) if(lines[i]) fputs(lines[i], stdout); } int main(void) { char *lines[3]; int i; scan(lines, 3); print(lines, 3); for(i = 0; i < 3; i++) free(lines[i]); return 0; }

  • VisualC++でコンパイル、Linuxサーバ側で実行

    プログラムの勉強をしている者です。 最近、 「Windows側でVisualC++を利用してコンパイルし、それをLinuxに持っていって、Linuxサーバで実行する」 という、話を聞きました。 調べてみると、「クロスコンパイル」というものに該当しそうだと思うのですが、まったく理解できません。 Windows側の.exeファイルをそのままLinuxに持っていっても当然実行できないのに、なぜ、上のようなことができるのか不思議です。 どなたか、教えてください。

  • .dllと.exeファイルの改良について

    プログラミングはJAVAしか扱ったことが無いのですが、 今回、人様の作ったプログラムを改良(改悪?)する事となりました。 色々調べて"eXeScoope"や"ResHack"等のFreeSoftを入手したり"MicroSoftVisual C++"を購入しました。 どうも元のexeファイルを編集することが出来ません。 この場合どうしたら良いのでしょうか?

    • 締切済み
    • noname#39357
    • Visual Basic
    • 回答数6
  • .dllと.exeファイルの改良について

    プログラミングはJAVAしか扱ったことが無いのですが、 今回、人様の作ったプログラムを改良(改悪?)する事となりました。 色々調べて"eXeScoope"や"ResHack"等のFreeSoftを入手したり"MicroSoftVisual C++"を購入しました。 どうも元のexeファイルを編集することが出来ません。 この場合どうしたら良いのでしょうか?

    • 締切済み
    • noname#39357
    • Visual Basic
    • 回答数6
  • WindowsInstallerや.NETFrameworkを検索する

    いつもお世話になっております。 今のシステムにWindowsInstaller3.1や.NETFramework2.0が必要なので、VBでレジストリを調べているのですが、そのバージョンのレジストリを直接見に行っているため、今後WindowsInstallerや.NETFrameworkがバージョンアップした場合に、そのプログラムでは対応できないため、不安を感じております。 今後それらがバージョンアップしたときにも対応できるようなレジストリの調べ方やプログラムの組み方などいい案はありませんでしょうか?

  • VB6 コマンドボタン クリックイベントについて

    教えてください。 フォームに貼り付けているコマンドボタンのクリックイベントについてですが、クリックイベント内の処理で処理に時間がかかります。コマンドボタンを1度クリックすると、この処理を実行します。この状態であれば、問題ないのです。ところが、コマンドボタンを押して、処理している間にコマンドボタンを連打すると、ずーっと同じ処理を繰り返してしまいます。 クリックイベントが待ち行列にたまっているように思えるのですが、 これを回避する方法などがあれば教えてください。 ・待ち行列をクリアするとか ・待ち行列にイベントがたまっていても、1度しか実行しない。 などなど、具体的な方法とサンプルコードなどを教えていただけないでしょうか。お願いします。 環境VB6 WIN2K です。

  • ボタンの文字色を変更したい

    Visual Basicで、 ボタンの上にある文字の色を変更することはできますか。 ボタンそのものの色はBackColorプロパティーで設定できますが、文字色の設定がわかりません。良い方法はないでしょうか

  • テキストボックスかラベル上の表示を縦に中央揃えしたい

    Visual Basicで、 テキストボックスかラベルの上にある表示を縦方向にに中央揃えすることはできますか。 横方向だとAlignmentプロパティーで設定できますが、縦方向には同様のものがありません。良い方法はないでしょうか。

  • 処理の実行中にOutLookがまともに使用できない。

    お世話になります。 ファイルからデータを取り出し1行1行処理を行っており、 時間がかかりますので、1行毎にProgressBarをカウントアップしています。 そして、例えば処理中にメールソフトのOutLookでメールの返信でもしようとすると、ロックがかかっているのか、返信ボタンすら押せません。 処理が終わると通常通り使用できます。 どなたか、処理中でプログレスバーのゲージが進んでいる最中でも、OutLookが使用できる方法を教えて頂けないでしょうか。 <処理中のプログレスバーの呼ぶ方法(カウントアップ)> frmProgress.NextStep frmProgress.Show vbModeless, Me <プログレスバー内でのカウントアップ> Public Sub NextStep() On Error Resume Next ' 画面を更新する m_lCounter = m_lCounter + 1 ProgressBar.Value = m_lCounter lblCounter.Caption = CStr(m_lCounter) lblCounter.Refresh DoEvents '画面を更新する lblCounterMax = "/" + CStr(m_lngShoriCounterMax) + "件目処理中" ProgressBar.Max = m_lngShoriCounterMax On Error GoTo 0 End Sub <環境> VB(SP6)

  • ファイル読み込みと構造体について

    Q1 VB始めたばかりの超初心者です。クイズゲームを作成したく、構造体を用意したいのですが、同じ構造体を100個用意したい場合どのように宣言するのでしょうか? Public Type mondai_REC Question As String * 100 choice(5) As String * 30 justness(3) As Byte End Type ↑の構造体を100個用意したいのです。 また100個用意して、その中のchoice()を参照したい場合どのように使うのでしょうか? Q2 テキストファイルを読み込み、この構造体に格納したいと考えてます。ファイルをオープン・クローズドする、任意の文字(たとえば”。”)がみつかめまで読み込むなど、固定長でない文字列の入ったファイルを読み込むのに便利な関数を教えてください。 よろしくお願いいたします。

  • 2PCをLANでつないでデータ交換

    こんにちは。 2台のPCをLANケーブルでつなぎ、ソフトウェアレベルでデータ交換を行いたいんです。 ソフトウェアは自作するんですが、Winsockを実装すればできますか?その場合、相手を指定する方法としては具体的にはどうしたらいいんですか。 ご教授下さい。

  • 複数の数字が書かれた文字列をsplitで分割したい

    "230","60,000","12,800" 等の文字列があります。 これを 「230」と「60000」と「12800」に分けたいのですが Solit(文字列,",")とすると 「230」「"60」「000"」「"12」「800"」 となってしまいます。 数字の個数や桁数はバラバラです。 うまく分ける方法に関してどうかご助言をいただけないでしょうか? どうぞよろしくお願いいたします。

  • Visual Basic のプルグラムについて

    Visual BasicでパソコンのRS-232-CのRTS信号をON,OFF と繰り返して、波形をオシロスコープで確認しようと しているのですが、 フォールモジュールに Private Sub Command5_Click() For i = 0 To 50000 dummy = EscapeCommFunction(hComm, CLRRTS) dummy = EscapeCommFunction(hComm, SETRTS) Next i Print "RTS終了" End Sub と記述すると波形は確認できるのですが、 フォームモジュールに Private Sub Command6_Click() dummy = RTS Print "RTS終了" End Sub 標準モジュール(又はフォールモジュール)に Function RTS() As Boolean For i = 0 To 50000 dummy = EscapeCommFunction(hCome, CLRRTS) dummy = EscapeCommFunction(hCome, SETRTS) Next i End Function と記述すると波形が確認できませんでした。 どうすればいいの分かりません。 よろしくお願いします。

  • テキストボックスに入る文字を1字に制限したいのですが、うまくできません。

    事前に文字があってもなくても、最終入力文字が1つだけ残るようにしたいのです。 先日、同じ質問をしましたが、いただいた回答は、どれも役に立ちませんでした。ご自分で実験されてから回答してくださるようお願いします。 ダメだった方法 * sub text1_keyascii の中でボックスをクリアする。 * sub text1_keyascii の中でtextプロパティを再指定する。 * maxlength プロパティを1に設定しておく。 困っている状態 キー入力した文字が、次々とボックスに入ってしまい、BSキーなどを使わないと消せない。

  • テキストボックスに入る文字を1字に制限したいのですが、うまくできません。

    事前に文字があってもなくても、最終入力文字が1つだけ残るようにしたいのです。 先日、同じ質問をしましたが、いただいた回答は、どれも役に立ちませんでした。ご自分で実験されてから回答してくださるようお願いします。 ダメだった方法 * sub text1_keyascii の中でボックスをクリアする。 * sub text1_keyascii の中でtextプロパティを再指定する。 * maxlength プロパティを1に設定しておく。 困っている状態 キー入力した文字が、次々とボックスに入ってしまい、BSキーなどを使わないと消せない。

  • パソコン教科書MicrosoftVisualBasic2005ExpressEdition は、XP SP2 HOME で使えますか

    XP SP2 HOMEを使用してます。 パソコン教科書 Microsoft Visual Basic 2005 Express Edition入門 (単行本) を購入し、付いているCDでお勉強したいのですが、XP Pro と指定してあります。 マイクロソフトのサイトでは、XP HOME SP2 もOKのようです。 パソコン教科書で付いてくるCDで使えるのでしょうか?

  • VB6でブラウザのページソースを取得したい。

    VB6を使用しています。 ブラウザに表示されたページのHTMLソースを テキスト形式で保存もしくは、画面上に表示させ、 任意の行の値を取得したいと思っています。 このようなことは、可能でしょうか?

  • winsockで複数のLANカードを使用するには

    winsock初心者です。 TCPまたはUDPにて1枚のLANカードで通信するプログラムはよくあるのですが 複数のLANカードで通信する場合の参考プログラムがありません。 具体的には, UDPクライアントを作成する場合,指定したLANカード(IPアドレス)に生成したsocketとリンクして通信させたいのです。 bind()のsockname.sin_addr.s_addrにてINADDR_ANYではなくカードに設定したIPアドレスを設定すればよいのでしょうか? 同じ疑問がTCPクライアント作成でもあります。 この場合bind()ではなく,connect()で送信したいカードに接続されるサーバー側のIPアドレスを指定するということでしょうか? また2枚のカードを使用する場合,同じネットワークアドレス(192.168.0.XXX)は使用しない方が良いのでしょうか?(UDPブロードキャストだと両カードで送信してしまう?) 色々調べてますがこれだという回答がみつかりません 誰かご存知でしたら御教示願います。

  • ファイル保存

    Private Sub Command1_Click()   intFileNo = FreeFile   Open "sample_01.csv" For Output As #intFileNo   Print #intFileNo, Text1.Text   Close #intFileNo End Sub このプログラムではテキストボックスに表示されたcsvをファイル名sample_01.csvとして保存できるのですが、 これだとテキストボックスに表示されているのが何でもファイル名がsample_01.csvとなってしまいます>< こうではなくて、テキストボックスに表示されている、『○○○.csv』というのをそのままファイル名として保存したいのです。 sample_01.csvの部分をtext1.textにかえてやったらエラーがでてできませんでした・・・ どなたかご教授お願い致しますm(__)m

  • 上書きインストール

    現在、Visual Studio 2005のExpressEditionを使用しております。 ProfessionalEditionをインストールすることになりました。 Professionalをインストールするのに、ExpressEditionをアンインストールしたほうがよいのでしょうか?それともしないほうがよいのでしょうか?