検索結果
FP30X
- 全てのカテゴリ
- 全ての質問
- FP-30XをMIDI鍵盤としては使えないですか?
下記の内容で質問があります。回答をいただけると助かります。よろしくお願いします! ▼製品名() Roland FP-30X キーボード ▼困っていることや、聞いてみたいことをお書きください。 FP-30XにMacのMainStageを繋げて、MainStageの音を使いたいです。 それをLIVE演奏で行う場合、FP-30Xをライン取りでPAに繋げるのではなく、 MacをPAに繋げるのでしょうか? そうであれば、PA側は通常、USBジャックになりますでしょうか? あまり詳しくないため、試行錯誤しながらAppleやRolandのサポートともやり取りしていますが、双方ともにRolandはAppleに関してはサポートできないし、AppleもMainStageについては故障や修理以外に関しては、あまりサポートできないため、どなたか詳しい方がいらっしゃいましたら、教えて頂けると助かります。宜しくお願い致します。 ※OKWAVEより補足:「電子楽器メーカーローランド製品、ボス製品」についての質問です。
- 自分が弾いた曲をファイル化したい
下記の内容で質問があります。回答をいただけると助かります。よろしくお願いします! ▼FP-30X FP-30Xで自分が弾いた曲をファイル化したいです。 そのファイルをパソコンで再生したい。 自分が弾いた音源を本機に録音することはできるのですが ファイル化できないので本機でしか再生できない。 よろしくお願いいたします。 ※OKWAVEより補足:「電子楽器メーカーローランド製品、ボス製品」についての質問です。
- ベストアンサー
- 楽器・演奏
- hihihi555511
- 回答数3
- データの抜き取り、並び替え
初心者です。よろしくお願いします。 今、私は3次元のデータを2次元にするプログラムを作りたいと思っています。データは1列226,981行で並んでいて、行は for(z=0;z<61;z++){ for(y=0;y<61;y++){ for(x=0;x<61;x++){ のように並んでいます。つまり行は61*61*61=226,981行あります。 このデータから例えばx=30のときのyz平面のデータを抜き取りたいと思っています。 データ例: -5.968777e+001 → (0,0,0) -4.980782e+001 → (1,0,0) -5.336652e+001 → (2,0,0) ・ ・ ・ -5.558537e+001 → (30,0,0) →抜き取り ・ ・ -5.595443e+001 → (61,0,0) ・ -5.867385e+001 → (30,1,0) →抜き取り ・ ・ ・ ・ -4.701691e+001 → (30,0,1) →抜き取り ・ ・ のように抜き取りたいと思っています。さらにこの抜き取ったデータを下のように zの変化 →→→→→→→→→→→→→→→→→→→→→→ ↓(30,0,0)(30,0,1)(30,0,2)(30,0,3) ↓(30,1,0)(30,1,1)(30,1,2)(30,1,3) ・・・・ y↓(30,2,0)(30,2,1)(30,2,2)(30,2,3) の↓ ・ 変↓ ・ 化↓ ・ ↓ のように平面に並び替えなければなりません。使う関数や変数など初心者で、まったくわからず困っています。どうか助言やプログラミング例をいただけるとありがたいです。 下はファイルの入出力例から作った入出力プログラムです #include<stdio.h> #include<math.h> #include<string.h> #include<stdlib.h> void Make_Header(char*,int,int); //ヘッダファイル書き出し関数,このまま使用 #define T 226981 main() { /*変数宣言*/ int i; long j; static double data1[1][T]; FILE *fp_i, *fp_o; /*入力*/ printf("data in start\n"); fp_i = fopen("200113-HH-100a-IFFT-RS_ap(dB).dat", "rb"); //ファイルオープン,rbはオープン形式でバイナリファイル読み込み for(j = 0; j < T; j++){ for(i = 0; i < 1; i++){ fread(&data1[i][j],sizeof(static double),1,fp_i); } } fclose(fp_i); //開いたらちゃんと閉じる /*************************************** 処理部分 ***************************************/ /*出力*/ printf("write in start\n"); fp_o = fopen("eee.x00", "wb"); //ファイルオープン,wbはオープン形式でバイナリファイル書き出し for(j = 0; j < T; j++){ for(i = 0; i < 1; i++){ fwrite(&data1[i][j],sizeof(static double),1,fp_o); } } fclose(fp_o); //開いたらちゃんと閉じる Make_Header("eee.x00",1,T); //ErgoVistaのヘッダファイル情報を出力する関数,pixel(横数)とline(縦数)を出入 return 0; } /* ヘッダ情報書きこみのサブルーチン このまま使用*/ void Make_Header(char FN[], int pixel, int line) { char hd[40]="", text[40]; FILE *fhd; strncat(hd, FN, strlen(FN)-3); strcat(hd, "hdr"); if((fhd = fopen(hd, "w")) == NULL){ printf("error : cannot open [%s] (header file)\n", FN); exit(1); } fprintf(fhd, "FILE_TYPE = IMAGE \n"); fprintf(fhd, "IMAGE_LINES = %d \n",line); fprintf(fhd, "LINE_SAMPLES = %d \nEND\n",pixel); fclose(fhd); } このプログラムの処理部分を作りたいと思っています。どうかよろしくお願いします。
- 配列のファイル読み込みの方法
配列のファイル読み込みの方法が分かりません。一応次に示すプログラムまで作りました。 1 23 2 40 3 : 4 : : : : : 5000 4098 というテキストファイルを読み込んで、出力したいです。 #include <stdio.h> int main(void){ FILE *fp; double x[5000]; double y[5000]; if((fp=fopen("demo-10mTorr-30W.txt","r"))==NULL){ printf("ファイルが開けません\n"); } while(fgets(x,5000,fp)!=NULL){ printf("%f %f\n",x,y); } } fclose(fp); return 0; } ・分からない点 配列の読み込み方。 またこれを実行した場合、全て0が出力されてしまいます。 よろしくお願いします。
- ベストアンサー
- C・C++・C#
- kumakuman3
- 回答数5
- FP-30 音色の追加
下記の内容で質問があります。回答をいただけると助かります。よろしくお願いします! ▼製品名(FP-30) FP-30を自宅に所有しています。他に生ピアノもありますが、夜間の練習や「ピアノ音」以外の演奏に活用しています。FP-30Xになって、音色の構成が変わって種類も相当増えていますが、FP-30に新しい音を導入することはできないでしょうか? もちろん、音色以外にも30Xになって進化、改善されている点はあると承知していますが、まだまだ十分使える状態ですので、買いかえるのは惜しく、いくつか音色の導入ができれば、このまま寿命がくるまで使いたいところです。お詳しい方がいらっしゃいましたら、お教えいただけると幸いです。 ※OKWAVEより補足:「電子楽器メーカーローランド製品、ボス製品」についての質問です。
- ベストアンサー
- 楽器・演奏
- naoko66787
- 回答数1
- 録音した曲が再生出来ない。
FP-30Xで録音したが、再生出来ない。 再生ボタンを押しながら、C4キーを押しても反応しない。 ※OKWAVEより補足:「電子楽器メーカーローランド製品、ボス製品」についての質問です。
- ベストアンサー
- 楽器・演奏
- ko0216to0924
- 回答数2
- C言語 教えて下さい!!!
教えてください!! data01.txt というテストの得点が書き込んであるテキストファイルから得点を読み込んで、得点順に並べ替えて表示させるプログラミングなんですがコンパイルは成功します。 しかし、実行してみると全く違う結果になってしまいます。 どこが間違っているのか指摘してください。 #include <stdio.h> /* 構造体の宣言 */ struct data { int score; int rank; }d; /* 関数 */ void rank(struct data *x, int n) { int i, j; for ( i=0; i<n; i++) x[i].rank = 1; for ( i=0; i<n; i++) for ( j=0; j<n; j++) if(x[i].score < x[j].score) x[i].rank++; } /* main文 */ int main(void) { int a; struct data x[50]; /* ファイルから得点を読み込む */ FILE *fp; fp = fopen("data01.txt", "r"); for ( a=0; a<50; a++) x[a] = atoi(getc(fp); fclose(fp); /* 順位付け */ a = 50; rank(x,a); printf("Rank Score\n"); for ( a=0; a<50; a++) printf("%d %d\n", x[a].rank, x[a].score); return 0; } ちなみに data.txt は 左側の列は番号 右側の列が得点 1 50 2 62 3 73 4 42 5 99 6 10 7 68 8 54 9 87 10 98 11 54 12 30 13 15 14 60 15 78 16 98 17 65 18 75 19 32 20 99 21 80 22 64 23 52 24 31 25 99 26 10 27 20 28 5 29 65 30 53 31 54 32 35 33 45 34 23 35 26 36 97 37 88 38 99 39 56 40 42 41 32 42 56 43 56 44 54 45 0 46 54 47 80 48 99 49 54 50 56
- 締切済み
- その他(学問・教育)
- illujal
- 回答数3
- プログラム
{ FILE *fp; char *str,buf[1000]; char subbuf[100],*s1; char buf2[100],*s2; char buf3[100],*s3; char buf4[100],*s4; static double bx=0; static double by=0; if ((fp = fopen("test.txt", "r")) == NULL) { printf("ファイルが開けません\n"); return EXIT_SUCCESS; } while (fgets(buf, 1000, fp) != NULL) { str=buf; while((*str!='\0'){ if(*str!='\0' && *str=='G'){ *str++; if((*str!='\0' &&(isdigit(*str) || *str=='-' || *str=='.')) s2=buf2; if((*str!='\0' &&(isdigit(*str) || *str=='-' || *str=='.')) while(*str!='\0'&&(isdigit(*str) || *str=='-' || *str=='.')) *s2++=*str++; *s2='\0'; } if(*str!='\0' && *str=='X'){ *str++; if((*str!='\0' &&(isdigit(*str) || *str=='-' || *str=='.')) s3=buf3; if((*str!='\0' &&(isdigit(*str) || *str=='-' || *str=='.')) while(*str!='\0' &&(isdigit(*str) || *str=='-' || *str=='.')) *s3++=*str++; *s3='\0'; } if(*str!='\0' && *str=='Y'){ *str++; if((*str!='\0' &&(isdigit(*str) || *str=='-' || *str=='.')) s4=buf4; if((*str!='\0' &&(isdigit(*str) || *str=='-' || *str=='.')) while(*str!='\0' &&(isdigit(*str) |*str=='||*str=='.')) *s4++=*str++; *s4='\0'; } CDC *v; v=GetDC(); if((int)atof(buf2)==92){ MoveTo((int)atof(buf3),(int)atof(buf4)); bx=(int)atof(buf3); by=(int)atof(buf4); ReleaseDC(v); } else if((int)atof(buf2)==01){ MoveTo((int)bx,(int)by); LineTo((int)atof(buf3),(int)atof(buf4)); bx=(int)atof(buf3); by=(int)atof(buf4); ReleaseDC(v); } else str++; } } fclose(fp); return 0; } という風なプログラムになっているのですが 今現在 G01X30Y30 G01X30Y120というファイルをこのプログラムにて実行すると (0,0)→(30,30)→(30,120)というような直線が引かれます。 しかしこれを G01X30Y30 Y120 とかかれたときも同様の結果がでるようにしたいです。 つまり最初のG○○が省略されているときは前回のGの値を X○○が省略されているときは前回のXの値を使うように 変更したいのですがどのように変更すればいいのかがわかりません。 教えてください。
- 坂道を転がる動きをご教授願いたい
現在、Flash8にて任意の角度を指定し、 そので転がるボールの動きを作っています。 Actionscriptは以下の通りです。 //角度 rot=0; //転がるmc、ballの質量 m=0.5; //静止摩擦係数 ius=0.05; //運動摩擦係数 iuk=0.07; //時間 t=0; tt=1/30; //重さ w=0.5*9.8; //坂道のmc、saka saka.onEnterFrame=function(){ this._rotation=rot; //垂直抗力 N=w*Math.cos(rot*Math.PI/180); //転がる力 Fp=w*Math.sin(rot*Math.PI/180); //静止摩擦力 Fs=ius*N; //転がるかどうかの判定 if(Fp<Fs){ //運動摩擦力 Fk=iuk*(w*-1); //加速度を出してx、yに代入 Fk_p=[Fk*Math.cos(rot*Math.PI/180),Fk*Math.sin(rot*Math.PI/180)]; Fp_p=[Fp*Math.cos(rot-180*Math.PI/180),Fp*Math.sin(rot-180*Math.PI/180)]; Fnet=[Fp_p[0]+Fk_p[0],Fp_p[1]+Fk_p[1]]; a=new Array(); a[0]=Fnet[0]/0.5; a[1]=Fnet[1]/0.5; t=t+tt; _root.ball._x+=0*t+1/2*a[0]*t*t; _root.ball._y+=0*t+1/2*a[1]*t*t; } //転がるボールのmc、ball ball.onEnterFrame=function(){ this._rotation=rot; } ballが坂道を転がらずあらぬ方向に行っちゃいます。 どこがどう間違っているのかも頭がゴチャついてて判りません。 物凄く勘違いなことをしているのだと思います。 お教え願えればと思います。よろしくお願いします。
- AppleScriptで教えて欲しいです。
現在、clipboardと同じ名前のフォルダー1つ(例:ABC123)のみ処理する。 →これを、clipboardの名前を含むフォルダー1つ(例:ABC123.4)のみ処理する。 に変更したいです。 ちなみにclipboardの名前を含むフォルダーは、1つしか存在しません。 申し訳ありませんが、実際の業務で使用している下記のスクリプト(無駄な部分も多少あるかと思いますが)を出来る限り変更を加えず、可能でしょうか? 無理であれば、大幅変更も可能ですので、ご教授の程、宜しくお願い致します。 global Num global fp set Num to the clipboard tell application "Finder" my shikyuseihan2data() --支給製版2課データ try duplicate fp to folder "data" of disk "HD" move fp to folder "jus:5)製版行き: 2課使用済" end try end tell --アクセス権 tell application "Terminal" activate do script with command "chmod -R 775 /Volumes/HD/data" quit end tell --支給製版2課のデータ on shikyuseihan2data() tell application "Finder" set x to name of every disk if "jus" is in x then else mount volume "afp://10.1.30.10/jus/" end if try set fp to "jus:5)製版行き:" & Num & ":" as text set fp to fp as alias end try end tell end shikyuseihan2data
- ベストアンサー
- Mac
- muscle_yamachan
- 回答数1
- バッファオーバーランの危険性検出について
下に示すmsg_file.txtの内容を読み込んで表示するプログラムを使ってバッファオーバーランの危険性を検出するプログラムを作りたいのですが、どのように書き換えたら良いでしょうか。 プログラムソース 1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <string.h> 4 5 #define FILEPATH "msg_file.txt" 6 7 int main(); 8 void vuln(const char* line); 9 void stack_dump(void* ptr, int counts); 10 void hello(); 11 12 int main() 13 { 14 char linebuf[1024]; 15 FILE *fp; 16 long mark1 = 0x11111111; 17 memset(linebuf, 0, sizeof(linebuf)); 18 19 fp = fopen(FILEPATH, "r"); 20 fgets(linebuf, sizeof(linebuf)-1, fp); 21 fclose(fp); 22 23 vuln(linebuf); 24 25 printf("------------- end of main() -------------\n"); 26 } 27 28 void vuln(const char* line) 29 { 30 char msg[20]; 31 long mark2 = 0x22222222; 32 memset(msg, 0, sizeof(msg)); 33 34 strcpy(msg, line); 35 36 stack_dump(&mark2, 13); 37 38 printf("INPUT[%s]\n", msg); 39 } 40 41 void stack_dump(void* ptr, int counts) 42 { 43 int i; 44 unsigned long *ulong_ptr = (unsigned long *)ptr; 45 unsigned char uchar_buf[4]; 46 47 printf("-----------------------------------------\n"); 48 printf(" address | long var | +0 +1 +2 +3 | 0123\n"); 49 printf("-----------------------------------------\n"); 50 for(i=0; i<counts; i++) { 51 printf(" %08x| %08x", &ulong_ptr[i], ulong_ptr[i]); 52 memcpy(uchar_buf, &ulong_ptr[i], sizeof(uchar_buf)); 53 printf(" | %02x %02x %02x %02x", 54 uchar_buf[0], uchar_buf[1], uchar_buf[2], uchar_buf[3]); 55 if(uchar_buf[0]<32 || uchar_buf[0]>126) uchar_buf[0] = '.'; 56 if(uchar_buf[1]<32 || uchar_buf[1]>126) uchar_buf[1] = '.'; 57 if(uchar_buf[2]<32 || uchar_buf[2]>126) uchar_buf[2] = '.'; 58 if(uchar_buf[3]<32 || uchar_buf[3]>126) uchar_buf[3] = '.'; 59 printf(" | %c%c%c%c\n", 60 uchar_buf[0], uchar_buf[1], uchar_buf[2], uchar_buf[3]); 61 } 62 printf("-----------------------------------------\n"); 63 } 64 65 void hello() 66 { 67 printf("+----------+\n"); 68 printf("| HELLO! |\n"); 69 printf("+----------+\n"); 70 exit(0); 71 }
- 照合に関するプログラムについて
2つのファイルを用意して1つが以下のaaa.txtのような数値が記述されているファイルで、もう1つがbbb.txtのようなファイルでこの中の2列目には、aaa.txtに記されている数値が含まれています。 -------aaa.txt------- -------bbb.txt------- 1.4 XMS 2.5 2.5 XMS 2.7 2.7 XMS 1.1 2.1 XMS 1.0 XMS 2.1 XMS 1.4 aaa.txtとbbb.txtそれぞれのテキストないで数字のダブリはない。bbb.txtはaaa.txtの数字をすべて含む。 aaa.txtに記述されている数値を利用して、bbb.txtの2列目で同じ数値を示すものをその数値がある行ごと取り出し、行末にnameという文字を出力し、bbb.txtの数値がaaa.txtのどの数値とも異なればそのままその行を出力するようなプログラムを書きたいと考えました。そこで、下記のようなプログラムを書いて実行したところ、こちらの意図した出力(ccc.txt)が得られませんでした。なぜ、cccのような出力にならなかったのかがわからなくて非常に困っています。どなたかこのプログラムの誤り又はもっと良い書き方を教えていただけないでしょうか。回答よろしくおねがいします。 ------------ccc.txt---------------- XMS 2.5 name XMS 2.7 name XMS 1.1 XMS 1.0 XMS 2.1 name XMS 1.4 name -----プログラム-------- #include<stdio.h> #include<string.h> int main(int argc ,char *argv[]) { FILE *fp[argc],*gp; char x[30]; int linemax,ret; double distance; int i=0; char command[30] = "wc "; char *re="> Nline.txt"; char file1[25],file2[25],file3[25],*ends; strcat(command,argv[2]); strcat(command,re); system(command); gp=fopen("Nline.txt","r"); fscanf(gp,"%d%s%s%s",&linemax,file1,file2,file3); system("rm Nline.txt"); fp[0]=fopen(argv[1],"r"); linemax=linemax-1; while(fscanf (fp[0],"%s %lf",x,&distance==9){ while(fscanf(gp,"%lf",&dis)==1){ if(dis==distance){ printf("%s %lf name \n",x,distance); i=0; }else if(dis!=distance && i==linemax){ printf("%s %lf \n",x,distance); i=0; } i++; }rewind(gp); } fclose(gp); fclose(fp[0]); return 0; }
- iPhone アプリ 実機転送時に起動ができない
現在、iPhoneのアプリを作成しているのですが、 iPhone実機に転送して、動作確認しようとしたところ 「GDB:プログラムはシグナルを受信しました : "EXC_BAD_ACCESS"。」 と出て、起動しません。 ただ、転送自体はできているようで、iPhoneからケーブルを 抜くと、何事もなくアプリの起動、動作確認ができます。 この現象は、現在作成しているアプリのみで、 他のサンプルプログラム等では、ケーブルを接続したまま 起動できています。 以下にデバッグログを載せますので、何かわかる方は ご回答よろしくお願いいたします。 (最後の streq r4の行で問題が発生しているようです。) 0x31d47c34 <+0000> cmp r2, #0 ; 0x0 0x31d47c38 <+0004> cmpne r0, r1 0x31d47c3c <+0008> bxeq lr 0x31d47c40 <+0012> push {r0, r4, r5, r7, lr} 0x31d47c44 <+0016> add r7, sp, #12 ; 0xc 0x31d47c48 <+0020> subcs r3, r0, r1 0x31d47c4c <+0024> subcc r3, r1, r0 0x31d47c50 <+0028> cmp r3, r2 0x31d47c54 <+0032> bcc 0x31d47da0 <memmove+364> 0x31d47c58 <+0036> lsl ip, r0, #30 0x31d47c5c <+0040> cmp ip, r1, lsl #30 0x31d47c60 <+0044> bne 0x31d47e80 <memmove+588> 0x31d47c64 <+0048> cmp r2, #64 ; 0x40 0x31d47c68 <+0052> blt 0x31d47d74 <memmove+320> 0x31d47c6c <+0056> tst r0, #15 ; 0xf 0x31d47c70 <+0060> bne 0x31d47cf4 <memmove+192> 0x31d47c74 <+0064> tst r0, #16 ; 0x10 0x31d47c78 <+0068> bne 0x31d47d28 <memmove+244> 0x31d47c7c <+0072> push {r6, r8, sl, fp} 0x31d47c80 <+0076> sub r2, r2, #64 ; 0x40 0x31d47c84 <+0080> ldm r1!, {r3, r4, r5, r6, r8, sl, fp, ip} 0x31d47c88 <+0084> pld [r1, #32] 0x31d47c8c <+0088> stmia r0!, {r3, r4, r5, r6, r8, sl, fp, ip} 0x31d47c90 <+0092> ldm r1!, {r3, r4, r5, r6, r8, sl, fp, ip} 0x31d47c94 <+0096> subs r2, r2, #64 ; 0x40 0x31d47c98 <+0100> pld [r1, #32] 0x31d47c9c <+0104> stmia r0!, {r3, r4, r5, r6, r8, sl, fp, ip} 0x31d47ca0 <+0108> bge 0x31d47c84 <memmove+80> 0x31d47ca4 <+0112> pop {r6, r8, sl, fp} 0x31d47ca8 <+0116> adds r2, r2, #64 ; 0x40 0x31d47cac <+0120> beq 0x31d47f5c <memmove+808> 0x31d47cb0 <+0124> cmp r2, #16 ; 0x10 0x31d47cb4 <+0128> ldmge r1!, {r3, r4, r5, ip} 0x31d47cb8 <+0132> stmiage r0!, {r3, r4, r5, ip} 0x31d47cbc <+0136> subsge r2, r2, #16 ; 0x10 0x31d47cc0 <+0140> bgt 0x31d47cb0 <memmove+124> 0x31d47cc4 <+0144> beq 0x31d47f5c <memmove+808> 0x31d47cc8 <+0148> lsl r2, r2, #28 0x31d47ccc <+0152> msr CPSR_f, r2 0x31d47cd0 <+0156> ldmmi r1!, {r2, r3} 0x31d47cd4 <+0160> ldreq r4, [r1], #4 0x31d47cd8 <+0164> ldrhcs r5, [r1], #2 0x31d47cdc <+0168> ldrbvs ip, [r1], #1 0x31d47ce0 <+0172> stmiami r0!, {r2, r3} 0x31d47ce4 <+0176> streq r4, [r0], #4
- ベストアンサー
- その他(プログラミング・開発)
- gigadelic
- 回答数1
- phpが動きません
<SCRIPT LANGUAGE="PHP"> // Copyright (C) 2001-2004 All right reserved by Shinya Kondo ( CGI KON ) // 検索用関数 Function Search_Pattern($record,$pattern) { for($loop = 0;$loop < count($pattern);$loop++) { if($pattern[$loop] == "") continue; if(!ereg($pattern[$loop],$record)) return 0; } return 1; } // メインプログラム if($search) { if(!$keyword) { $error = "キーワードが入力されていません"; $search = ""; } } if($search) { $fp = @fopen("search_csv.csv","r"); if(!$fp) { $error = "該当ファイルを参照できません"; $search = ""; } } </SCRIPT> <HTML> <HEAD> <META Http-Equiv="Content-Type" Content="text/html;charset=EUC-JP"> <TITLE>ファイル簡易検索</TITLE> </HEAD> <BODY> <B>ファイル簡易検索</B> <BR> <CENTER> <FORM ACTION="search_csv.php" METHOD="post"> <INPUT TYPE="hidden" NAME="search" VALUE="検索する"> キーワード: <INPUT TYPE="text" NAME="keyword" VALUE="<? echo $keyword; ?>" SIZE="30"> <INPUT TYPE="submit" NAME="search" VALUE="検索する"> </FORM> <FONT COLOR="#FF0000"><? echo $error; ?></FONT> <HR> <P> <SCRIPT LANGUAGE="PHP"> if($search) { echo "<TABLE BORDER=1>\n"; while(!feof($fp)) { $buff = fgets($fp,255); $title .= $buff; if(ereg("\n",$buff)) break; } $title = ereg_replace("\x0A","",$title); $column = split(",",$title); echo "<TR>\n"; for($loop = 0;$loop < count($column);$loop++) { echo '<TD BGCOLOR="#00FFFF" NOWRAP>',$column[$loop],"</TD>\n"; } echo "</TR>\n"; $keyword = ereg_replace(" "," ",$keyword); $pattern = split(" ",$keyword); while(1) { $line = ""; while(!feof($fp)) { $buff = fgets($fp,255); $line .= $buff; if(ereg("\n",$buff)) break; } if($line == "") break; if(!Search_Pattern($line,$pattern)) continue; $line = ereg_replace("\x0A","",$line); $column = split(",",$line); echo "<TR>\n"; for($loop = 0;$loop < count($column);$loop++) { echo "<TD>",$column[$loop],"</TD>\n"; } echo "</TR>\n"; } fclose($fp); echo "</TABLE>\n"; } else { echo "キーワードを入力し、検索ボタンを押すと検索結果がここに表示されます。\n"; } </SCRIPT> <P> <FONT SIZE=2><I> Copyright (C) 2001-2004 All right reserved by <A HREF="http://cgikon.com">CGI KON</A> </I></FONT> </CENTER> </BODY> </HTML> フリー配布のphpをチェックしているのですが、なぜかこのphpだけ動きません。 csvファイル名もそのままでftpにあげています。 他のphpは問題なくうごいているのですが、原因がわかりません。 ご教授願います。
- 締切済み
- PHP
- yyyooo1029
- 回答数1
- postしたコンテンツの取得
いつもお世話になっております。 PHPでHTTPでPOSTされたコンテンツを受け取るサンプルとして以下のような スクリプトを作成しました。 <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>sample</title> </head> <body> <p><?php var_dump(file_get_contents('php://input')); ?></p> </body> </html> そしてデータの送信側のPHPスクリプトとして以下のようなものを作成しました。 <?php function post_request($url, $data, $referer='') { // Convert the data array into URL Parameters like a=b&foo=bar etc. $data = http_build_query($data); // parse the given URL $url = parse_url($url); if ($url['scheme'] != 'http') { die('Error: Only HTTP request are supported !'); } // extract host and path: $host = $url['host']; $path = $url['path']; $port = $url['port']; var_dump($url); $fp = fsockopen($host, $port, $errno, $errstr, 30); if ($fp){ // send the request headers: fputs($fp, "POST $path HTTP/1.1\r\n"); fputs($fp, "Host: $host\r\n"); if ($referer != '') fputs($fp, "Referer: $referer\r\n"); fputs($fp, "Content-type: application/x-www-form-urlencoded\r\n"); fputs($fp, "Content-length: ". strlen($data) ."\r\n"); fputs($fp, "Connection: close\r\n\r\n"); fputs($fp, $data); $result = ''; while(!feof($fp)) { // receive the results of the request $result .= fgets($fp, 128); } } else { return array( 'status' => 'err', 'error' => "$errstr ($errno)" ); } // close the socket connection: fclose($fp); // split the result header from the content $result = explode("\r\n\r\n", $result, 2); $header = isset($result[0]) ? $result[0] : ''; $content = isset($result[1]) ? $result[1] : ''; // return as structured array: return array( 'status' => 'ok', 'header' => $header, 'content' => $content ); } $fileHandle = fopen("/home/a/text.txt", "rb"); $fileContents = stream_get_contents($fileHandle); fclose($fileHandle); var_dump(post_request('http://ipaddress/rawpost.php',$fileContents)); ?> 上記PHPスクリプトによってPOSTされた結果のHTMLの var_dump(file_get_contents('php://input')) の部分はstring(0)となりました。 HTTPのPOSTのコンテンツ部分を取得するには どのようなスクリプトを記載すればよいのでしょうか。 どなたかご教授よろしくお願いいたします。
- 締切済み
- PHP
- kaoru424233254
- 回答数1
- fp-30のmidi入力時にベロシティが弱い
下記の内容で質問があります。回答をいただけると助かります。よろしくお願いします! ▼製品名(例:HP704・LX708) ===ご記入ください=== fp-30 ▼質問したい箇所・部品がありましたら、教えてください。(例:ペダル・鍵盤など) ===ご記入ください=== 鍵盤 ▼困っていることや、聞いてみたいことをお書きください。 【困っていること例】:設定の仕方がわからない・接続ができなくなった) 【聞いてみたいこと例】:セッティング方法を教えほしい・使ってみた感想を聞きたい ≪※表示されている画像やスクリーンショットを添付すると伝わりやすくなります!≫ ===ご記入ください=== 電子ピアノのfp-30をMacにUSB接続し、DAWのlogic pro x上でMIDIキーボードとして使用しております。 MIDI入力自体は可能ですがベロシティが弱く、ちから一杯に打鍵しても110( 最大127)程度にしかなりません。 ベロシティをfp-30本体側で設定ができるのかできないのか、できたらそのやり方について教えていただけないでしょうか。 製品としてMIDIキーボードではなくあくまで電子ピアノなので、期待すべきではないかもしれないですが、よろしくお願いいたします。 ※OKWAVEより補足:「電子楽器メーカーローランド製品、ボス製品」についての質問です。
- C言語 データソート
失礼します。現在テキストファイルを昇順で出力したいのですが うまくいきません、書籍にて勉強しているのですが、打ち間違いなどがみつかりません。 何卒よろしくお願いします。 #include <stdint.h> #pragma warning(disable:4996) typedef struct { char name[100]; double height; double weight; } pdata; void swap(pdata *x, pdata *y) { pdata temp = *x; *x = *y; *y = temp; } void sort(pdata data[], int n) { int k = n - 1; while (k >= 0) { int i, j; for (i = 1, j = -1; i <= k; i++) if (data[i - 1].height > data[i].height) { j = i - 1; swap(&data[i], &data[j]); } k = j; } } int main(void) { FILE *fp; int i; int ninzu = 0; double hsum = 0.0; double wsum = 0.0; pdata data[NUMBER]; if ((fp = fopen("hw.dat", "r")) == NULL) printf("\aファイルをオープンできません\n"); else { while (fscanf(fp, "%s%lf%lf", data[ninzu].name, &data[ninzu].height, &data[ninzu].weight) == 3) { hsum += data[ninzu].height; wsum += data[ninzu].weight; ninzu++; } sort(data, ninzu); for (i = 0; i < ninzu; i++) printf("%-10s %5.lf %5.lf\n", data[i].name, data[i].height, data[i].weight); printf("----------------------------"); printf("平均 %5.1f %5.1f", hsum / ninzu, wsum / ninzu); fclose(fp); } return(0); } エラーメッセージ 重大度レベル コード 説明 プロジェクト ファイル 行 抑制状態 エラー C2057 定数式が必要です。 helloworld c:\users\documents\visual studio 2015\projects\helloworld\helloworld\helloworld.c 36 重大度レベル コード 説明 プロジェクト ファイル 行 抑制状態 エラー (アクティブ) 識別子 "FILE" が定義されていません helloworld c:\Users\Documents\Visual Studio 2015\Projects\helloworld\helloworld\helloworld.c 30 重大度レベル コード 説明 プロジェクト ファイル 行 抑制状態 エラー (アクティブ) 識別子 "NUMBER" が定義されていません helloworld c:\UsersDocuments\Visual Studio 2015\Projects\helloworld\helloworld\helloworld.c 36
- キーワード検索ほ作成したけど実行するとできないのは何故!?
<SCRIPT LANGUAGE="PHP"> // 検索用関数 Function Search_Pattern($record,$pattern) { for($loop = 0;$loop < count($pattern);$loop++) { if($pattern[$loop] == "") continue; if(!ereg($pattern[$loop],$record)) return 0; } return 1; } // メインプログラム if($search) { if(!$keyword) { $error = "キーワードが入力されていません"; $search = ""; } } if($search) { $fp = @fopen("search_csv.csv","r"); if(!$fp) { $error = "該当ファイルを参照できません"; $search = ""; } } </SCRIPT> <HTML> <HEAD> <META Http-Equiv="Content-Type" Content="text/html;charset=SHIFT-JIS"> <TITLE>ファイル簡易検索</TITLE> </HEAD> <BODY> <B>ファイル簡易検索</B> <BR> <CENTER> <FORM ACTION="search_csv.php" METHOD="post"> <INPUT TYPE="hidden" NAME="search" VALUE="検索する"> キーワード: <INPUT TYPE="text" NAME="keyword" VALUE="<? echo $keyword; ?>" SIZE="30"> <INPUT TYPE="submit" NAME="search" VALUE="検索する"> </FORM> <FONT COLOR="#FF0000"><? echo $error; ?></FONT> <HR> <P> <SCRIPT LANGUAGE="PHP"> if($search) { echo "<TABLE BORDER=1>\n"; while(!feof($fp)) { $buff = fgets($fp,255); $title .= $buff; if(ereg("\n",$buff)) break; } $title = ereg_replace("\x0A","",$title); $column = split(",",$title); echo "<TR>\n"; for($loop = 0;$loop < count($column);$loop++) { echo '<TD BGCOLOR="#00FFFF" NOWRAP>',$column[$loop],"</TD>\n"; } echo '<TD BGCOLOR="#00FFFF" NOWRAP>'; echo '詳細'; echo "</TD>\n"; echo "</TR>\n"; $keyword = ereg_replace(" "," ",$keyword); $pattern = split(" ",$keyword); while(1) { $line = ""; while(!feof($fp)) { $buff = fgets($fp,255); $line .= $buff; if(ereg("\n",$buff)) break; } if($line == "") break; if(!Search_Pattern($line,$pattern)) continue; $line = ereg_replace("\x0A","",$line); $column = split(",",$line); echo "<TR>\n"; echo "<FORM method=\"post\" action=\"./formdb_modify.php\">\n"; echo "<INPUT type=\"hidden\" name=\"data_no\" value=\"".$column[0]."\">\n"; for($loop =0; $loop< count($column);$loop++) { echo "<TD nowrap><FONT size=-1>" . $column[$loop] . "</FONT></TD>\n"; //echo "<TD nowrap><FONT size=-1>" . $column[1] . "</FONT></TD>\n"; //echo "<TD nowrap><FONT size=-1>" . $column[2] . "</FONT></TD>\n"; //echo "<TD nowrap><FONT size=-1>" . $column[3] . "</FONT></TD>\n"; } echo "<TD nowrap><INPUT type=\"submit\" value=\" 詳細\"></TD>\n"; echo "</FORM>\n"; echo "</TR>\n"; } fclose($fp); echo "</TABLE>\n"; } else { echo "キーワードを入力し、検索ボタンを押すと検索結果がここに表示されます。\n"; } </SCRIPT> 実行すると何も検索されないのだけど... localhostでは、実行されます。 どこがおかしいのでしょうか!?
- ループが1回で終わってしまいます。
ファイルから文字列を一行ずつ読み込んで、文字列内の整数を比較してMIDI出力するようにしてるのですが、ループが一回で終わってしまっているらしく、ファイル内の文字列の初めの行しか読み込めていません。どこがおかしいのか自分では分からないので、わかる方教えてください! ちなみに、Visual C++ 2008 Express Edition、Win32APIです。 以下が問題のソースです。 while(_fgetts(buf, 30, fp)){ if(feof(fp)){ break; }else{ _tcstok(buf, TEXT("\n")); _stscanf(buf, _T("- { x:%d, y:%d }"), &m, &n); if(n<200){ if((m>=0 && m<110)){ midiOutShortMsg(hMidOut , MIDIMSG(0x90 , 0x48 , 40)); return 0; }else if((m>=110 && m<220)){ midiOutShortMsg(hMidOut , MIDIMSG(0x90 , 0x50 , 40)); return 0; }else if((m>=220 && m<330)){ midiOutShortMsg(hMidOut , MIDIMSG(0x90 , 0x52 , 40)); return 0; }else if((m>=330 && m<440)){ midiOutShortMsg(hMidOut , MIDIMSG(0x90 , 0x53 , 40)); return 0; }else if((m>=440 && m<550)){ midiOutShortMsg(hMidOut , MIDIMSG(0x90 , 0x55 , 40)); return 0; }else if((m>=550 && m<660)){ midiOutShortMsg(hMidOut , MIDIMSG(0x90 , 0x57 , 40)); return 0; }else if((m>=660 && m<770)){ midiOutShortMsg(hMidOut , MIDIMSG(0x90 , 0x59 , 40)); return 0; }else{ break; } }else if(n>=200 && n<400){ if((m>=0 && m<110)){ midiOutShortMsg(hMidOut , MIDIMSG(0x90 , 0x36 , 40)); return 0; }else if((m>=110 && m<220)){ midiOutShortMsg(hMidOut , MIDIMSG(0x90 , 0x38 , 40)); return 0; }else if((m>=220 && m<330)){ midiOutShortMsg(hMidOut , MIDIMSG(0x90 , 0x40 , 40)); return 0; }else if((m>=330 && m<440)){ midiOutShortMsg(hMidOut , MIDIMSG(0x90 , 0x41 , 40)); return 0; }else if((m>=440 && m<550)){ midiOutShortMsg(hMidOut , MIDIMSG(0x90 , 0x43 , 40)); return 0; }else if((m>=550 && m<660)){ midiOutShortMsg(hMidOut , MIDIMSG(0x90 , 0x45 , 40)); return 0; }else if((m>=660 && m<770)){ midiOutShortMsg(hMidOut , MIDIMSG(0x90 , 0x47 , 40)); return 0; }else{ break; } } } ファイルの中身 - { x:543, y:62 } - { x:561, y:177 } - { x:26, y:375 } - { x:265, y:220 } . . . です。
- キーワード検索でスクリプトを使用しない方法は!?
<SCRIPT LANGUAGE="PHP"> // 検索用関数 Function Search_Pattern($record,$pattern) { for($loop = 0;$loop < count($pattern);$loop++) { if($pattern[$loop] == "") continue; if(!ereg($pattern[$loop],$record)) return 0; } return 1; } // メインプログラム if($search) { if(!$keyword) { $error = "キーワードが入力されていません"; $search = ""; } } if($search) { $fp = @fopen("search_csv.csv","r"); if(!$fp) { $error = "該当ファイルを参照できません"; $search = ""; } } </SCRIPT> <HTML> <HEAD> <META Http-Equiv="Content-Type" Content="text/html;charset=SHIFT-JIS"> <TITLE>ファイル簡易検索</TITLE> </HEAD> <BODY> <B>ファイル簡易検索</B> <BR> <CENTER> <FORM ACTION="search_csv.php" METHOD="post"> <INPUT TYPE="hidden" NAME="search" VALUE="検索する"> キーワード: <INPUT TYPE="text" NAME="keyword" VALUE="<? echo $keyword; ?>" SIZE="30"> <INPUT TYPE="submit" NAME="search" VALUE="検索する"> </FORM> <FONT COLOR="#FF0000"><? echo $error; ?></FONT> <HR> <P> <SCRIPT LANGUAGE="PHP"> if($search) { echo "<TABLE BORDER=1>\n"; while(!feof($fp)) { $buff = fgets($fp,255); $title .= $buff; if(ereg("\n",$buff)) break; } $title = ereg_replace("\x0A","",$title); $column = split(",",$title); echo "<TR>\n"; for($loop = 0;$loop < count($column);$loop++) { echo '<TD BGCOLOR="#00FFFF" NOWRAP>',$column[$loop],"</TD>\n"; } echo '<TD BGCOLOR="#00FFFF" NOWRAP>'; echo '詳細'; echo "</TD>\n"; echo "</TR>\n"; $keyword = ereg_replace(" "," ",$keyword); $pattern = split(" ",$keyword); while(1) { $line = ""; while(!feof($fp)) { $buff = fgets($fp,255); $line .= $buff; if(ereg("\n",$buff)) break; } if($line == "") break; if(!Search_Pattern($line,$pattern)) continue; $line = ereg_replace("\x0A","",$line); $column = split(",",$line); echo "<TR>\n"; echo "<FORM method=\"post\" action=\"./formdb_modify.php\">\n"; echo "<INPUT type=\"hidden\" name=\"data_no\" value=\"".$column[0]."\">\n"; for($loop =0; $loop< count($column);$loop++) { echo "<TD nowrap><FONT size=-1>" . $column[$loop] . "</FONT></TD>\n"; //echo "<TD nowrap><FONT size=-1>" . $column[1] . "</FONT></TD>\n"; //echo "<TD nowrap><FONT size=-1>" . $column[2] . "</FONT></TD>\n"; //echo "<TD nowrap><FONT size=-1>" . $column[3] . "</FONT></TD>\n"; } echo "<TD nowrap><INPUT type=\"submit\" value=\" 詳細\"></TD>\n"; echo "</FORM>\n"; echo "</TR>\n"; } fclose($fp); echo "</TABLE>\n"; } else { echo "キーワードを入力し、検索ボタンを押すと検索結果がここに表示されます。\n"; } </SCRIPT> <P> <FONT SIZE=2><I> Copyright (C) 2009 All right reserved by <A HREF="http://ameblo.jp/access-db/">Access Company</A> </I></FONT> </CENTER> </BODY> </HTML> 上記、スクリプトを使用しての検索ですが スクリプトを使用せずにphpだけで検索できないでしょうか?
