Scrigroup - Documente si articole

     

HomeDocumenteUploadResurseAlte limbi doc
AccessAdobe photoshopAlgoritmiAutocadBaze de dateC
C sharpCalculatoareCorel drawDot netExcelFox pro
FrontpageHardwareHtmlInternetJavaLinux
MatlabMs dosPascalPhpPower pointRetele calculatoare
SqlTutorialsWebdesignWindowsWordXml

Ingineria sistemelor soft - Raport de faza

calculatoare



+ Font mai mare | - Font mai mic



Ingineria sistemelor soft - Raport de faza

Modificarea ceruta:



15. Sa se introduca functia de beep (buzz).

Descrierea implementarii:

a) clase noi

- am adaugat clasa WavePlayer care reda un fisier audio in format .wav.

b) modificari de clase existente

Modificarea clasei FrameMessage:

- am adaugat un buton buzzButton pt functia de buzz

- am adaugat optiunea BUZZ (buzzItem) in meniul popup

- am adaugat functia buzzActionPerformed care trimite un mesaj de tip buzz si reda sunetul corespunzator

- am adaugat clasa BuzzKeyAdapter

Modificarea clasei MainFrame:

- am adaugat functia sendBuzzMessage pt trimiterea mesajelor de tip buzz

- am modificat functia getMessage - la primirea unui mesaj BUZZ reda un sunet

Modificarea clasei Interpreter:

- am adaugat cazul "Message.BUZZ_MESSAGE"

Modificarea clasei Jchat:

- am adaugat functia sendBuzzMessage pt trimiterea mesajelor de tip buzz

Modificarea clasei Message:

- am adaugat tipul de mesaj BUZZ_MESSAGE cu valoarea 'X'

Modificarea clasei MessageParser:

- in functia toBytes() am adaugat cazul BUZZ_MESSAGE pentru msg buzz

- in functia toMessage() am adaugat cazul 'X' pentru mesaje de tip buz

Highlighted Source Code:

--CLASA WavePlayer

package com.jchat;

import java.io.File;

import java.io.IOException;

import javax.sound.sampled.AudioFormat;

import javax.sound.sampled.AudioInputStream;

import javax.sound.sampled.AudioSystem;

import javax.sound.sampled.DataLine;

import javax.sound.sampled.FloatControl;

import javax.sound.sampled.LineUnavailableException;

import javax.sound.sampled.SourceDataLine;

import javax.sound.sampled.UnsupportedAudioFileException;

public class WavePlayer extends Thread ;

public WavePlayer(String wavfile)

public WavePlayer(String wavfile, Position p)

public void run()

AudioInputStream audioInputStream = null;

try catch (UnsupportedAudioFileException e1) catch (IOException e1)

AudioFormat format = audioInputStream.getFormat();

SourceDataLine auline = null;

DataLine.Info info = new DataLine.Info(SourceDataLine.class, format);

try catch (LineUnavailableException e) catch (Exception e)

if (auline.isControlSupported(FloatControl.Type.PAN))

auline.start();

int nBytesRead = 0;

byte[] abData = new byte[EXTERNAL_BUFFER_SIZE];

try

} catch (IOException e) finally

}

--CLASA BuzzKeyAdapter

class BuzzKeyAdapter extends KeyAdapter

}

}

--FUNCTIA buzzActionPerformed

private void buzzActionPerformed() catch (PropertyVetoException e)

((FrameMessage) fs[0]).getTextArea().requestFocus();

}

frame.sendPrivateMessage(user, message);

}

FUNCTIA MainFrame.sendBuzzMessage

void sendBuzzMessage(User to, String message)

FUNCTIA Jchat.sendBuzzMessage

void sendBuzzMessage(User to, String message)

-- In CLASA Interpreter

case Message.BUZZ_MESSAGE // buzz message

if (m.getTo().equals(jChat.getThisUser())) else

break

-- In CLASA MessageParser

-- FUNCTIA toMessage():

case 'X' // buzz message

s = new String(b, 1, nb - 1);

tok = new StringTokenizer(s,

if (tok.hasMoreTokens())

if (tok.hasMoreTokens())

if (tok.hasMoreTokens())

text = new String(jChat.getPrivateCipher().decrypt(bb));

} else

}

tok = new StringTokenizer(text, 'n' true

buf = new StringBuffer();

aftertoken = true

while (tok.hasMoreTokens()) else else

}

}

text = buf.toString();

mes = new Message();

mes.setType(Message.BUZZ_MESSAGE

mes.setTo(jChat.getUser(to));

mes.setFrom(jChat.getUser(from));

mes.setText(text);

if (mes.getTo() == null || mes.getFrom() == null

|| mes.getText() == null

break

-- FUNCTIA toBytes():

case Message.BUZZ_MESSAGE

str = 'X' + m.getFrom().getNick() + m.getTo().getNick()

+

f = str.getBytes();

bb = m.getText().getBytes();

cc = bb;

if (m.getTo() != null && m.getTo().getChat().equals(JChat.jChatName

b = new byte f.length + cc.length

for int i = 0; i < f.length; i++)

for int i = 0; i < cc.length; i++)

break

Tipul activitatii este unul din urmatoarele:

citirea documentatiei si a cererii de modificare;

studierea codului sursa;

proiectarea modificarii;

scrierea codului necesar pentru implementarea modificarii cerute;

testarea modificarii;

depanarea si eliminarea erorilor depistate dupa efectuarea modificarii;

scrierea raportului de faza;

alta activitate, specificata in clar.

Materiale de trimis:

acest raport

codul sursa integral

date de test (daca e cazul) sau modalitati de testare

Modalitatea de trimitere:

fisier ZIP de forma: NPFf.zip, unde N este numele, P este prenumele, f este faza.



Politica de confidentialitate | Termeni si conditii de utilizare



DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 1787
Importanta: rank

Comenteaza documentul:

Te rugam sa te autentifici sau sa iti faci cont pentru a putea comenta

Creaza cont nou

Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved