public abstract class ByteBuffer extends Buffer implements Comparable<ByteBuffer>
This class defines six categories of operations upon byte buffers:
Absolute and relative get
and
put
methods that read and write
single bytes;
Relative bulk get
methods that transfer contiguous sequences of bytes from this buffer
into an array;
Relative bulk put
methods that transfer contiguous sequences of bytes from a
byte array or some other byte
buffer into this buffer;
Absolute and relative get
and put
methods that read and
write values of other primitive types, translating them to and from
sequences of bytes in a particular byte order;
Methods for creating view buffers, which allow a byte buffer to be viewed as a buffer containing values of some other primitive type; and
Methods for compacting
, duplicating
, and slicing
a byte buffer.
Byte buffers can be created either by allocation
, which allocates space for the buffer's
content, or by wrapping
an
existing byte array into a buffer.
A byte buffer is either direct or non-direct. Given a direct byte buffer, the Java virtual machine will make a best effort to perform native I/O operations directly upon it. That is, it will attempt to avoid copying the buffer's content to (or from) an intermediate buffer before (or after) each invocation of one of the underlying operating system's native I/O operations.
A direct byte buffer may be created by invoking the allocateDirect
factory method of this class. The
buffers returned by this method typically have somewhat higher allocation
and deallocation costs than non-direct buffers. The contents of direct
buffers may reside outside of the normal garbage-collected heap, and so
their impact upon the memory footprint of an application might not be
obvious. It is therefore recommended that direct buffers be allocated
primarily for large, long-lived buffers that are subject to the underlying
system's native I/O operations. In general it is best to allocate direct
buffers only when they yield a measureable gain in program performance.
A direct byte buffer may also be created by mapping
a region of a file
directly into memory. An implementation of the Java platform may optionally
support the creation of direct byte buffers from native code via JNI. If an
instance of one of these kinds of buffers refers to an inaccessible region
of memory then an attempt to access that region will not change the buffer's
content and will cause an unspecified exception to be thrown either at the
time of the access or at some later time.
Whether a byte buffer is direct or non-direct may be determined by
invoking its isDirect
method. This method is provided so
that explicit buffer management can be done in performance-critical code.
This class defines methods for reading and writing values of all other
primitive types, except boolean. Primitive values are translated
to (or from) sequences of bytes according to the buffer's current byte
order, which may be retrieved and modified via the order
methods. Specific byte orders are represented by instances of the ByteOrder
class. The initial order of a byte buffer is always BIG_ENDIAN
.
For access to heterogeneous binary data, that is, sequences of values of different types, this class defines a family of absolute and relative get and put methods for each type. For 32-bit floating-point values, for example, this class defines:
floatgetFloat()
floatgetFloat(int index)
voidputFloat(float f)
voidputFloat(int index, float f)
Corresponding methods are defined for the types char, short, int, long, and double. The index parameters of the absolute get and put methods are in terms of bytes rather than of the type being read or written.
For access to homogeneous binary data, that is, sequences of values of
the same type, this class defines methods that can create views of a
given byte buffer. A view buffer is simply another buffer whose
content is backed by the byte buffer. Changes to the byte buffer's content
will be visible in the view buffer, and vice versa; the two buffers'
position, limit, and mark values are independent. The asFloatBuffer
method, for example, creates an instance of
the FloatBuffer
class that is backed by the byte buffer upon which
the method is invoked. Corresponding view-creation methods are defined for
the types char, short, int, long, and
double.
View buffers have three important advantages over the families of type-specific get and put methods described above:
A view buffer is indexed not in terms of bytes but rather in terms of the type-specific size of its values;
A view buffer provides relative bulk get and put methods that can transfer contiguous sequences of values between a buffer and an array or some other buffer of the same type; and
A view buffer is potentially much more efficient because it will be direct if, and only if, its backing byte buffer is direct.
The byte order of a view buffer is fixed to be that of its byte buffer at the time that the view is created.
Methods in this class that do not otherwise have a value to return are specified to return the buffer upon which they are invoked. This allows method invocations to be chained. The sequence of statements
can, for example, be replaced by the single statementbb.putInt(0xCAFEBABE); bb.putShort(3); bb.putShort(45);
bb.putInt(0xCAFEBABE).putShort(3).putShort(45);
| Modifier and Type | Method and Description |
|---|---|
static ByteBuffer |
allocate(int capacity)
Allocates a new byte buffer.
|
static ByteBuffer |
allocateDirect(int capacity)
Allocates a new direct byte buffer.
|
byte[] |
array()
Returns the byte array that backs this
buffer (optional operation).
|
int |
arrayOffset()
Returns the offset within this buffer's backing array of the first
element of the buffer (optional operation).
|
abstract CharBuffer |
asCharBuffer()
Creates a view of this byte buffer as a char buffer.
|
abstract DoubleBuffer |
asDoubleBuffer()
Creates a view of this byte buffer as a double buffer.
|
abstract FloatBuffer |
asFloatBuffer()
Creates a view of this byte buffer as a float buffer.
|
abstract IntBuffer |
asIntBuffer()
Creates a view of this byte buffer as an int buffer.
|
abstract LongBuffer |
asLongBuffer()
Creates a view of this byte buffer as a long buffer.
|
abstract ByteBuffer |
asReadOnlyBuffer()
Creates a new, read-only byte buffer that shares this buffer's
content.
|
abstract ShortBuffer |
asShortBuffer()
Creates a view of this byte buffer as a short buffer.
|
abstract ByteBuffer |
compact()
Compacts this buffer (optional operation).
|
int |
compareTo(ByteBuffer that)
Compares this buffer to another.
|
abstract ByteBuffer |
duplicate()
Creates a new byte buffer that shares this buffer's content.
|
boolean |
equals(Object ob)
Tells whether or not this buffer is equal to another object.
|
abstract byte |
get()
Relative get method.
|
ByteBuffer |
get(byte[] dst)
Relative bulk get method.
|
ByteBuffer |
get(byte[] dst,
int offset,
int length)
Relative bulk get method.
|
abstract byte |
get(int index)
Absolute get method.
|
abstract char |
getChar()
Relative get method for reading a char value.
|
abstract char |
getChar(int index)
Absolute get method for reading a char value.
|
abstract double |
getDouble()
Relative get method for reading a double value.
|
abstract double |
getDouble(int index)
Absolute get method for reading a double value.
|
abstract float |
getFloat()
Relative get method for reading a float value.
|
abstract float |
getFloat(int index)
Absolute get method for reading a float value.
|
abstract int |
getInt()
Relative get method for reading an int value.
|
abstract int |
getInt(int index)
Absolute get method for reading an int value.
|
abstract long |
getLong()
Relative get method for reading a long value.
|
abstract long |
getLong(int index)
Absolute get method for reading a long value.
|
abstract short |
getShort()
Relative get method for reading a short value.
|
abstract short |
getShort(int index)
Absolute get method for reading a short value.
|
boolean |
hasArray()
Tells whether or not this buffer is backed by an accessible byte
array.
|
int |
hashCode()
Returns the current hash code of this buffer.
|
abstract boolean |
isDirect()
Tells whether or not this byte buffer is direct.
|
ByteOrder |
order()
Retrieves this buffer's byte order.
|
ByteBuffer |
order(ByteOrder bo)
Modifies this buffer's byte order.
|
abstract ByteBuffer |
put(byte b)
Relative put method (optional operation).
|
ByteBuffer |
put(byte[] src)
Relative bulk put method (optional operation).
|
ByteBuffer |
put(byte[] src,
int offset,
int length)
Relative bulk put method (optional operation).
|
ByteBuffer |
put(ByteBuffer src)
Relative bulk put method (optional operation).
|
abstract ByteBuffer |
put(int index,
byte b)
Absolute put method (optional operation).
|
abstract ByteBuffer |
putChar(char value)
Relative put method for writing a char
value (optional operation).
|
abstract ByteBuffer |
putChar(int index,
char value)
Absolute put method for writing a char
value (optional operation).
|
abstract ByteBuffer |
putDouble(double value)
Relative put method for writing a double
value (optional operation).
|
abstract ByteBuffer |
putDouble(int index,
double value)
Absolute put method for writing a double
value (optional operation).
|
abstract ByteBuffer |
putFloat(float value)
Relative put method for writing a float
value (optional operation).
|
abstract ByteBuffer |
putFloat(int index,
float value)
Absolute put method for writing a float
value (optional operation).
|
abstract ByteBuffer |
putInt(int value)
Relative put method for writing an int
value (optional operation).
|
abstract ByteBuffer |
putInt(int index,
int value)
Absolute put method for writing an int
value (optional operation).
|
abstract ByteBuffer |
putLong(int index,
long value)
Absolute put method for writing a long
value (optional operation).
|
abstract ByteBuffer |
putLong(long value)
Relative put method for writing a long
value (optional operation).
|
abstract ByteBuffer |
putShort(int index,
short value)
Absolute put method for writing a short
value (optional operation).
|
abstract ByteBuffer |
putShort(short value)
Relative put method for writing a short
value (optional operation).
|
abstract ByteBuffer |
slice()
Creates a new byte buffer whose content is a shared subsequence of
this buffer's content.
|
String |
toString()
Returns a string summarizing the state of this buffer.
|
static ByteBuffer |
wrap(byte[] array)
Wraps a byte array into a buffer.
|
static ByteBuffer |
wrap(byte[] array,
int offset,
int length)
Wraps a byte array into a buffer.
|
public static ByteBuffer allocateDirect(int capacity)
The new buffer's position will be zero, its limit will be its
capacity, its mark will be undefined, and each of its elements will be
initialized to zero. Whether or not it has a
backing array
is unspecified.
capacity
- The new buffer's capacity, in bytesIllegalArgumentException
- If the capacity is a negative integerpublic static ByteBuffer allocate(int capacity)
The new buffer's position will be zero, its limit will be its
capacity, its mark will be undefined, and each of its elements will be
initialized to zero. It will have a backing array
,
and its array offset
will be zero.
capacity
- The new buffer's capacity, in bytesIllegalArgumentException
- If the capacity is a negative integerpublic static ByteBuffer wrap(byte[] array, int offset, int length)
The new buffer will be backed by the given byte array;
that is, modifications to the buffer will cause the array to be modified
and vice versa. The new buffer's capacity will be
array.length, its position will be offset, its limit
will be offset + length, and its mark will be undefined. Its
backing array
will be the given array, and
its array offset
will be zero.
array
- The array that will back the new bufferoffset
- The offset of the subarray to be used; must be non-negative and
no larger than array.length. The new buffer's position
will be set to this value.length
- The length of the subarray to be used;
must be non-negative and no larger than
array.length - offset.
The new buffer's limit will be set to offset + length.IndexOutOfBoundsException
- If the preconditions on the offset and length
parameters do not holdpublic static ByteBuffer wrap(byte[] array)
The new buffer will be backed by the given byte array;
that is, modifications to the buffer will cause the array to be modified
and vice versa. The new buffer's capacity and limit will be
array.length, its position will be zero, and its mark will be
undefined. Its backing array
will be the
given array, and its array offset>
will
be zero.
array
- The array that will back this bufferpublic abstract ByteBuffer slice()
The content of the new buffer will start at this buffer's current position. Changes to this buffer's content will be visible in the new buffer, and vice versa; the two buffers' position, limit, and mark values will be independent.
The new buffer's position will be zero, its capacity and its limit will be the number of bytes remaining in this buffer, and its mark will be undefined. The new buffer will be direct if, and only if, this buffer is direct, and it will be read-only if, and only if, this buffer is read-only.
public abstract ByteBuffer duplicate()
The content of the new buffer will be that of this buffer. Changes to this buffer's content will be visible in the new buffer, and vice versa; the two buffers' position, limit, and mark values will be independent.
The new buffer's capacity, limit, position, and mark values will be identical to those of this buffer. The new buffer will be direct if, and only if, this buffer is direct, and it will be read-only if, and only if, this buffer is read-only.
public abstract ByteBuffer asReadOnlyBuffer()
The content of the new buffer will be that of this buffer. Changes to this buffer's content will be visible in the new buffer; the new buffer itself, however, will be read-only and will not allow the shared content to be modified. The two buffers' position, limit, and mark values will be independent.
The new buffer's capacity, limit, position, and mark values will be identical to those of this buffer.
If this buffer is itself read-only then this method behaves in
exactly the same way as the duplicate
method.
public abstract byte get()
BufferUnderflowException
- If the buffer's current position is not smaller than its limitpublic abstract ByteBuffer put(byte b)
Writes the given byte into this buffer at the current position, and then increments the position.
b
- The byte to be writtenBufferOverflowException
- If this buffer's current position is not smaller than its limitReadOnlyBufferException
- If this buffer is read-onlypublic abstract byte get(int index)
index
- The index from which the byte will be readIndexOutOfBoundsException
- If index is negative
or not smaller than the buffer's limitpublic abstract ByteBuffer put(int index, byte b)
Writes the given byte into this buffer at the given index.
index
- The index at which the byte will be writtenb
- The byte value to be writtenIndexOutOfBoundsException
- If index is negative
or not smaller than the buffer's limitReadOnlyBufferException
- If this buffer is read-onlypublic ByteBuffer get(byte[] dst, int offset, int length)
This method transfers bytes from this buffer into the given
destination array. If there are fewer bytes remaining in the
buffer than are required to satisfy the request, that is, if
length > remaining(), then no
bytes are transferred and a BufferUnderflowException
is
thrown.
Otherwise, this method copies length bytes from this buffer into the given array, starting at the current position of this buffer and at the given offset in the array. The position of this buffer is then incremented by length.
In other words, an invocation of this method of the form src.get(dst, off, len) has exactly the same effect as the loop
for (int i = off; i < off + len; i++)
dst[i] = src.get():
except that it first checks that there are sufficient bytes in
this buffer and it is potentially much more efficient.dst
- The array into which bytes are to be writtenoffset
- The offset within the array of the first byte to be
written; must be non-negative and no larger than
dst.lengthlength
- The maximum number of bytes to be written to the given
array; must be non-negative and no larger than
dst.length - offsetBufferUnderflowException
- If there are fewer than length bytes
remaining in this bufferIndexOutOfBoundsException
- If the preconditions on the offset and length
parameters do not holdpublic ByteBuffer get(byte[] dst)
This method transfers bytes from this buffer into the given destination array. An invocation of this method of the form src.get(a) behaves in exactly the same way as the invocation
src.get(a, 0, a.length)
dst
- The destination arrayBufferUnderflowException
- If there are fewer than length bytes
remaining in this bufferpublic ByteBuffer put(ByteBuffer src)
This method transfers the bytes remaining in the given source
buffer into this buffer. If there are more bytes remaining in the
source buffer than in this buffer, that is, if
src.remaining() > remaining(),
then no bytes are transferred and a BufferOverflowException
is thrown.
Otherwise, this method copies n = src.remaining() bytes from the given buffer into this buffer, starting at each buffer's current position. The positions of both buffers are then incremented by n.
In other words, an invocation of this method of the form dst.put(src) has exactly the same effect as the loop
while (src.hasRemaining()) dst.put(src.get());except that it first checks that there is sufficient space in this buffer and it is potentially much more efficient.
src
- The source buffer from which bytes are to be read;
must not be this bufferBufferOverflowException
- If there is insufficient space in this buffer
for the remaining bytes in the source bufferIllegalArgumentException
- If the source buffer is this bufferReadOnlyBufferException
- If this buffer is read-onlypublic ByteBuffer put(byte[] src, int offset, int length)
This method transfers bytes into this buffer from the given
source array. If there are more bytes to be copied from the array
than remain in this buffer, that is, if
length > remaining(), then no
bytes are transferred and a BufferOverflowException
is
thrown.
Otherwise, this method copies length bytes from the given array into this buffer, starting at the given offset in the array and at the current position of this buffer. The position of this buffer is then incremented by length.
In other words, an invocation of this method of the form dst.put(src, off, len) has exactly the same effect as the loop
for (int i = off; i < off + len; i++)
dst.put(a[i]);
except that it first checks that there is sufficient space in this
buffer and it is potentially much more efficient.src
- The array from which bytes are to be readoffset
- The offset within the array of the first byte to be read;
must be non-negative and no larger than array.lengthlength
- The number of bytes to be read from the given array;
must be non-negative and no larger than
array.length - offsetBufferOverflowException
- If there is insufficient space in this bufferIndexOutOfBoundsException
- If the preconditions on the offset and length
parameters do not holdReadOnlyBufferException
- If this buffer is read-onlypublic final ByteBuffer put(byte[] src)
This method transfers the entire content of the given source byte array into this buffer. An invocation of this method of the form dst.put(a) behaves in exactly the same way as the invocation
dst.put(a, 0, a.length)
src
- The source arrayBufferOverflowException
- If there is insufficient space in this bufferReadOnlyBufferException
- If this buffer is read-onlypublic final boolean hasArray()
If this method returns true then the array
and arrayOffset
methods may safely be invoked.
public final byte[] array()
Modifications to this buffer's content will cause the returned array's content to be modified, and vice versa.
Invoke the hasArray
method before invoking this
method in order to ensure that this buffer has an accessible backing
array.
array
in class Buffer
ReadOnlyBufferException
- If this buffer is backed by an array but is read-onlyUnsupportedOperationException
- If this buffer is not backed by an accessible arraypublic final int arrayOffset()
If this buffer is backed by an array then buffer position p corresponds to array index p + arrayOffset().
Invoke the hasArray
method before invoking this
method in order to ensure that this buffer has an accessible backing
array.
arrayOffset
in class Buffer
ReadOnlyBufferException
- If this buffer is backed by an array but is read-onlyUnsupportedOperationException
- If this buffer is not backed by an accessible arraypublic abstract ByteBuffer compact()
The bytes between the buffer's current position and its limit, if any, are copied to the beginning of the buffer. That is, the byte at index p = position() is copied to index zero, the byte at index p + 1 is copied to index one, and so forth until the byte at index limit() - 1 is copied to index n = limit() - 1 - p. The buffer's position is then set to n+1 and its limit is set to its capacity. The mark, if defined, is discarded.
The buffer's position is set to the number of bytes copied, rather than to zero, so that an invocation of this method can be followed immediately by an invocation of another relative put method.
Invoke this method after writing data from a buffer in case the write was incomplete. The following loop, for example, copies bytes from one channel to another via the buffer buf:
buf.clear(); // Prepare buffer for use while (in.read(buf) >= 0 || buf.position != 0) { buf.flip(); out.write(buf); buf.compact(); // In case of partial write }
ReadOnlyBufferException
- If this buffer is read-onlypublic abstract boolean isDirect()
public String toString()
public int hashCode()
The hash code of a byte buffer depends only upon its remaining elements; that is, upon the elements from position() up to, and including, the element at limit() - 1.
Because buffer hash codes are content-dependent, it is inadvisable to use buffers as keys in hash maps or similar data structures unless it is known that their contents will not change.
hashCode
in class Object
Object.equals(java.lang.Object)
,
System.identityHashCode(java.lang.Object)
public boolean equals(Object ob)
Two byte buffers are equal if, and only if,
They have the same element type,
They have the same number of remaining elements, and
The two sequences of remaining elements, considered independently of their starting positions, are pointwise equal.
A byte buffer is not equal to any other type of object.
equals
in class Object
ob
- The object to which this buffer is to be comparedObject.hashCode()
,
HashMap
public int compareTo(ByteBuffer that)
Two byte buffers are compared by comparing their sequences of
remaining elements lexicographically, without regard to the starting
position of each sequence within its corresponding buffer.
Pairs of byte
elements are compared as if by invoking
Byte.compare(byte,byte)
.
A byte buffer is not comparable to any other type of object.
compareTo
in interface Comparable<ByteBuffer>
that
- the object to be compared.public final ByteOrder order()
The byte order is used when reading or writing multibyte values, and
when creating buffers that are views of this byte buffer. The order of
a newly-created byte buffer is always BIG_ENDIAN
.
public final ByteBuffer order(ByteOrder bo)
bo
- The new byte order,
either BIG_ENDIAN
or LITTLE_ENDIAN
public abstract char getChar()
Reads the next two bytes at this buffer's current position, composing them into a char value according to the current byte order, and then increments the position by two.
BufferUnderflowException
- If there are fewer than two bytes
remaining in this bufferpublic abstract ByteBuffer putChar(char value)
Writes two bytes containing the given char value, in the current byte order, into this buffer at the current position, and then increments the position by two.
value
- The char value to be writtenBufferOverflowException
- If there are fewer than two bytes
remaining in this bufferReadOnlyBufferException
- If this buffer is read-onlypublic abstract char getChar(int index)
Reads two bytes at the given index, composing them into a char value according to the current byte order.
index
- The index from which the bytes will be readIndexOutOfBoundsException
- If index is negative
or not smaller than the buffer's limit,
minus onepublic abstract ByteBuffer putChar(int index, char value)
Writes two bytes containing the given char value, in the current byte order, into this buffer at the given index.
index
- The index at which the bytes will be writtenvalue
- The char value to be writtenIndexOutOfBoundsException
- If index is negative
or not smaller than the buffer's limit,
minus oneReadOnlyBufferException
- If this buffer is read-onlypublic abstract CharBuffer asCharBuffer()
The content of the new buffer will start at this buffer's current position. Changes to this buffer's content will be visible in the new buffer, and vice versa; the two buffers' position, limit, and mark values will be independent.
The new buffer's position will be zero, its capacity and its limit will be the number of bytes remaining in this buffer divided by two, and its mark will be undefined. The new buffer will be direct if, and only if, this buffer is direct, and it will be read-only if, and only if, this buffer is read-only.
public abstract short getShort()
Reads the next two bytes at this buffer's current position, composing them into a short value according to the current byte order, and then increments the position by two.
BufferUnderflowException
- If there are fewer than two bytes
remaining in this bufferpublic abstract ByteBuffer putShort(short value)
Writes two bytes containing the given short value, in the current byte order, into this buffer at the current position, and then increments the position by two.
value
- The short value to be writtenBufferOverflowException
- If there are fewer than two bytes
remaining in this bufferReadOnlyBufferException
- If this buffer is read-onlypublic abstract short getShort(int index)
Reads two bytes at the given index, composing them into a short value according to the current byte order.
index
- The index from which the bytes will be readIndexOutOfBoundsException
- If index is negative
or not smaller than the buffer's limit,
minus onepublic abstract ByteBuffer putShort(int index, short value)
Writes two bytes containing the given short value, in the current byte order, into this buffer at the given index.
index
- The index at which the bytes will be writtenvalue
- The short value to be writtenIndexOutOfBoundsException
- If index is negative
or not smaller than the buffer's limit,
minus oneReadOnlyBufferException
- If this buffer is read-onlypublic abstract ShortBuffer asShortBuffer()
The content of the new buffer will start at this buffer's current position. Changes to this buffer's content will be visible in the new buffer, and vice versa; the two buffers' position, limit, and mark values will be independent.
The new buffer's position will be zero, its capacity and its limit will be the number of bytes remaining in this buffer divided by two, and its mark will be undefined. The new buffer will be direct if, and only if, this buffer is direct, and it will be read-only if, and only if, this buffer is read-only.
public abstract int getInt()
Reads the next four bytes at this buffer's current position, composing them into an int value according to the current byte order, and then increments the position by four.
BufferUnderflowException
- If there are fewer than four bytes
remaining in this bufferpublic abstract ByteBuffer putInt(int value)
Writes four bytes containing the given int value, in the current byte order, into this buffer at the current position, and then increments the position by four.
value
- The int value to be writtenBufferOverflowException
- If there are fewer than four bytes
remaining in this bufferReadOnlyBufferException
- If this buffer is read-onlypublic abstract int getInt(int index)
Reads four bytes at the given index, composing them into a int value according to the current byte order.
index
- The index from which the bytes will be readIndexOutOfBoundsException
- If index is negative
or not smaller than the buffer's limit,
minus threepublic abstract ByteBuffer putInt(int index, int value)
Writes four bytes containing the given int value, in the current byte order, into this buffer at the given index.
index
- The index at which the bytes will be writtenvalue
- The int value to be writtenIndexOutOfBoundsException
- If index is negative
or not smaller than the buffer's limit,
minus threeReadOnlyBufferException
- If this buffer is read-onlypublic abstract IntBuffer asIntBuffer()
The content of the new buffer will start at this buffer's current position. Changes to this buffer's content will be visible in the new buffer, and vice versa; the two buffers' position, limit, and mark values will be independent.
The new buffer's position will be zero, its capacity and its limit will be the number of bytes remaining in this buffer divided by four, and its mark will be undefined. The new buffer will be direct if, and only if, this buffer is direct, and it will be read-only if, and only if, this buffer is read-only.
public abstract long getLong()
Reads the next eight bytes at this buffer's current position, composing them into a long value according to the current byte order, and then increments the position by eight.
BufferUnderflowException
- If there are fewer than eight bytes
remaining in this bufferpublic abstract ByteBuffer putLong(long value)
Writes eight bytes containing the given long value, in the current byte order, into this buffer at the current position, and then increments the position by eight.
value
- The long value to be writtenBufferOverflowException
- If there are fewer than eight bytes
remaining in this bufferReadOnlyBufferException
- If this buffer is read-onlypublic abstract long getLong(int index)
Reads eight bytes at the given index, composing them into a long value according to the current byte order.
index
- The index from which the bytes will be readIndexOutOfBoundsException
- If index is negative
or not smaller than the buffer's limit,
minus sevenpublic abstract ByteBuffer putLong(int index, long value)
Writes eight bytes containing the given long value, in the current byte order, into this buffer at the given index.
index
- The index at which the bytes will be writtenvalue
- The long value to be writtenIndexOutOfBoundsException
- If index is negative
or not smaller than the buffer's limit,
minus sevenReadOnlyBufferException
- If this buffer is read-onlypublic abstract LongBuffer asLongBuffer()
The content of the new buffer will start at this buffer's current position. Changes to this buffer's content will be visible in the new buffer, and vice versa; the two buffers' position, limit, and mark values will be independent.
The new buffer's position will be zero, its capacity and its limit will be the number of bytes remaining in this buffer divided by eight, and its mark will be undefined. The new buffer will be direct if, and only if, this buffer is direct, and it will be read-only if, and only if, this buffer is read-only.
public abstract float getFloat()
Reads the next four bytes at this buffer's current position, composing them into a float value according to the current byte order, and then increments the position by four.
BufferUnderflowException
- If there are fewer than four bytes
remaining in this bufferpublic abstract ByteBuffer putFloat(float value)
Writes four bytes containing the given float value, in the current byte order, into this buffer at the current position, and then increments the position by four.
value
- The float value to be writtenBufferOverflowException
- If there are fewer than four bytes
remaining in this bufferReadOnlyBufferException
- If this buffer is read-onlypublic abstract float getFloat(int index)
Reads four bytes at the given index, composing them into a float value according to the current byte order.
index
- The index from which the bytes will be readIndexOutOfBoundsException
- If index is negative
or not smaller than the buffer's limit,
minus threepublic abstract ByteBuffer putFloat(int index, float value)
Writes four bytes containing the given float value, in the current byte order, into this buffer at the given index.
index
- The index at which the bytes will be writtenvalue
- The float value to be writtenIndexOutOfBoundsException
- If index is negative
or not smaller than the buffer's limit,
minus threeReadOnlyBufferException
- If this buffer is read-onlypublic abstract FloatBuffer asFloatBuffer()
The content of the new buffer will start at this buffer's current position. Changes to this buffer's content will be visible in the new buffer, and vice versa; the two buffers' position, limit, and mark values will be independent.
The new buffer's position will be zero, its capacity and its limit will be the number of bytes remaining in this buffer divided by four, and its mark will be undefined. The new buffer will be direct if, and only if, this buffer is direct, and it will be read-only if, and only if, this buffer is read-only.
public abstract double getDouble()
Reads the next eight bytes at this buffer's current position, composing them into a double value according to the current byte order, and then increments the position by eight.
BufferUnderflowException
- If there are fewer than eight bytes
remaining in this bufferpublic abstract ByteBuffer putDouble(double value)
Writes eight bytes containing the given double value, in the current byte order, into this buffer at the current position, and then increments the position by eight.
value
- The double value to be writtenBufferOverflowException
- If there are fewer than eight bytes
remaining in this bufferReadOnlyBufferException
- If this buffer is read-onlypublic abstract double getDouble(int index)
Reads eight bytes at the given index, composing them into a double value according to the current byte order.
index
- The index from which the bytes will be readIndexOutOfBoundsException
- If index is negative
or not smaller than the buffer's limit,
minus sevenpublic abstract ByteBuffer putDouble(int index, double value)
Writes eight bytes containing the given double value, in the current byte order, into this buffer at the given index.
index
- The index at which the bytes will be writtenvalue
- The double value to be writtenIndexOutOfBoundsException
- If index is negative
or not smaller than the buffer's limit,
minus sevenReadOnlyBufferException
- If this buffer is read-onlypublic abstract DoubleBuffer asDoubleBuffer()
The content of the new buffer will start at this buffer's current position. Changes to this buffer's content will be visible in the new buffer, and vice versa; the two buffers' position, limit, and mark values will be independent.
The new buffer's position will be zero, its capacity and its limit will be the number of bytes remaining in this buffer divided by eight, and its mark will be undefined. The new buffer will be direct if, and only if, this buffer is direct, and it will be read-only if, and only if, this buffer is read-only.
Dracula Javadoc Sample, Made with Allan Im.


Documents
You can change the viewer used to Word Documents, Excel Spreadsheets, and PowerPoint presentations. The default is Google Docs.
Note: This does not affect PDFs, RTFs, and links to Google Docs files.
You can change the viewer used to Word Documents, Excel Spreadsheets, and PowerPoint presentations. The default is Google Docs.
Note: This does not affect PDFs, RTFs, and links to Google Docs files.
(disabling this could crash your browser on pages with many links)
If you find Peek useful, please donate to support continued development. It would mean a lot!
Please send bitcoin to the following address:
1GSbhaUp8JSRepqQceHzrGhV1bPk9hcPuS


Purpose: A format for genotype-phenotype association easily transported across internet applications.
Extensions: .xml .pxml
Notes: Please visit: http://www.fruitfly.org/~cjm/obd/pheno-xml-xsd.html for more information


| 1216 | (A) | that were fleschely by-fore and faire on-to luke |
| 1219 | (C) | That fayre were by-fore . & fresshe to by-holde |
| 1202 | (D) | þat fressh weryn a-fore and fayre to byhold |
| 1179 | (E) | þat fressch foolk were afore . & fayr to be-holde . |
| (Ex) | ---- no text ---- | |
| 1244 | (L) | þat were fleschy byfore & fayre on to loke |
| (P) | ---- no text ---- | |
| 1187 | (U) | That fressh weren aforn / and faire on to loke |
| 280 | (V) | þat were fresshe to-fore . and faire to beholde |


Installs a scheduled task on the current computer.
Install-ScheduledTask -Name <String> -TaskToRun <String> -OnEvent -EventChannelName <String> -EventXPathQuery <String> [-Interactive] [-NoPassword] [-HighestAvailableRunLevel] [-Delay <TimeSpan>] [-TaskCredential <PSCredential>] [-Principal <String>] [-Force] [<CommonParameters>]
Install-ScheduledTask -Name <String> -TaskToRun <String> -OnIdle <Int32> [-Interactive] [-NoPassword] [-HighestAvailableRunLevel] [-TaskCredential <PSCredential>] [-Principal <String>] [-Force] [<CommonParameters>]
Install-ScheduledTask -Name <String> -TaskToRun <String> -OnLogon [-Interactive] [-NoPassword] [-HighestAvailableRunLevel] [-Delay <TimeSpan>] [-TaskCredential <PSCredential>] [-Principal <String>] [-Force] [<CommonParameters>]
Install-ScheduledTask -Name <String> -TaskToRun <String> -OnStart [-Interactive] [-NoPassword] [-HighestAvailableRunLevel] [-Delay <TimeSpan>] [-TaskCredential <PSCredential>] [-Principal <String>] [-Force] [<CommonParameters>]
Install-ScheduledTask -Name <String> -TaskToRun <String> -Once [-StartDate <DateTime>] -StartTime <TimeSpan> [-Interactive] [-NoPassword] [-HighestAvailableRunLevel] [-TaskCredential <PSCredential>] [-Principal <String>] [-Force] [<CommonParameters>]
Install-ScheduledTask -Name <String> -TaskToRun <String> [-Month {January | February | March | April | May | June | July | August | September | October | November | December}] -WeekOfMonth {First | Second | Third | Fourth | Last} -DayOfWeek {Sunday | Monday | Tuesday | Wednesday | Thursday | Friday | Saturday} [-Interval <Int32>] [-StartDate <DateTime>] [-StartTime <TimeSpan>] [-Duration <TimeSpan>] [-EndDate <DateTime>] [-EndTime <TimeSpan>] [-Interactive] [-NoPassword] [-HighestAvailableRunLevel] [-TaskCredential <PSCredential>] [-Principal <String>] [-Force] [<CommonParameters>]
Install-ScheduledTask -Name <String> -TaskToRun <String> -LastDayOfMonth [-Month {January | February | March | April | May | June | July | August | September | October | November | December}] [-Interval <Int32>] [-StartDate <DateTime>] [-StartTime <TimeSpan>] [-Duration <TimeSpan>] [-EndDate <DateTime>] [-EndTime <TimeSpan>] [-Interactive] [-NoPassword] [-HighestAvailableRunLevel] [-TaskCredential <PSCredential>] [-Principal <String>] [-Force] [<CommonParameters>]
Install-ScheduledTask -Name <String> -TaskToRun <String> -Month {January | February | March | April | May | June | July | August | September | October | November | December} -DayOfMonth <Int32> [-Interval <Int32>] [-StartDate <DateTime>] [-StartTime <TimeSpan>] [-Duration <TimeSpan>] [-EndDate <DateTime>] [-EndTime <TimeSpan>] [-Interactive] [-NoPassword] [-HighestAvailableRunLevel] [-TaskCredential <PSCredential>] [-Principal <String>] [-Force] [<CommonParameters>]
Install-ScheduledTask -Name <String> -TaskToRun <String> -Monthly [-DayOfMonth <Int32>] [-Interval <Int32>] [-StartDate <DateTime>] [-StartTime <TimeSpan>] [-Duration <TimeSpan>] [-EndDate <DateTime>] [-EndTime <TimeSpan>] [-Interactive] [-NoPassword] [-HighestAvailableRunLevel] [-TaskCredential <PSCredential>] [-Principal <String>] [-Force] [<CommonParameters>]
Install-ScheduledTask -Name <String> -TaskToRun <String> -Weekly <Int32> [-DayOfWeek {Sunday | Monday | Tuesday | Wednesday | Thursday | Friday | Saturday}] [-Interval <Int32>] [-StartDate <DateTime>] [-StartTime <TimeSpan>] [-Duration <TimeSpan>] [-EndDate <DateTime>] [-EndTime <TimeSpan>] [-Interactive] [-NoPassword] [-HighestAvailableRunLevel] [-TaskCredential <PSCredential>] [-Principal <String>] [-Force] [<CommonParameters>]
Install-ScheduledTask -Name <String> -TaskToRun <String> -Daily <Int32> [-Interval <Int32>] [-StartDate <DateTime>] [-StartTime <TimeSpan>] [-Duration <TimeSpan>] [-EndDate <DateTime>] [-EndTime <TimeSpan>] [-Interactive] [-NoPassword] [-HighestAvailableRunLevel] [-TaskCredential <PSCredential>] [-Principal <String>] [-Force] [<CommonParameters>]
Install-ScheduledTask -Name <String> -TaskToRun <String> -Hourly <Int32> [-StopAtEnd] [-StartDate <DateTime>] [-StartTime <TimeSpan>] [-Duration <TimeSpan>] [-EndDate <DateTime>] [-EndTime <TimeSpan>] [-Interactive] [-NoPassword] [-HighestAvailableRunLevel] [-TaskCredential <PSCredential>] [-Principal <String>] [-Force] [<CommonParameters>]
Install-ScheduledTask -Name <String> -TaskToRun <String> -Minute <Int32> [-StopAtEnd] [-StartDate <DateTime>] [-StartTime <TimeSpan>] [-Duration <TimeSpan>] [-EndDate <DateTime>] [-EndTime <TimeSpan>] [-Interactive] [-NoPassword] [-HighestAvailableRunLevel] [-TaskCredential <PSCredential>] [-Principal <String>] [-Force] [<CommonParameters>]
Install-ScheduledTask -Name <String> -TaskXmlFilePath <String> [-TaskCredential <PSCredential>] [-Force] [<CommonParameters>]
Install-ScheduledTask -Name <String> -TaskXml <XmlDocument> [-TaskCredential <PSCredential>] [-Force] [<CommonParameters>]
The Install-ScheduledTask
function uses schtasks.exe
to install a scheduled task on the current computer. If a task with the same name already exists, the existing task is left in place. Use the -Force
switch to force Install-ScheduledTask
to delete any existing tasks before installation.
If a new task is created, a Carbon.TaskScheduler.TaskInfo
object is returned.
The schtasks.exe
command line application is pretty limited in the kind of tasks it will create. If you need a scheduled task created with options not supported by Install-ScheduledTask
, you can create an XML file using the Task Scheduler Schema or create a task with the Task Scheduler MMC then export that task as XML with the schtasks.exe /query /xml /tn <TaskName>
. Pass the XML file (or the raw XML) with the TaskXmlFilePath
or TaskXml
parameters, respectively.
| Name | Type | Description | Required? | Pipeline Input | Default Value |
|---|---|---|---|---|---|
| Name | String | The name of the scheduled task to create. Paths are allowed to create tasks under folders. |
true | false | |
| TaskToRun | String | The task/program to execute, including arguments/parameters. |
true | false | |
| Minute | Int32 | Create a scheduled task that runs every N minutes. |
true | false | 0 |
| Hourly | Int32 | Create a scheduled task that runs every N hours. |
true | false | 0 |
| StopAtEnd | SwitchParameter | Stops the task at the |
false | false | False |
| Daily | Int32 | Creates a scheduled task that runs every N days. |
true | false | 0 |
| Weekly | Int32 | Creates a scheduled task that runs every N weeks. |
true | false | 0 |
| Monthly | SwitchParameter | Create a scheduled task that runs every month. |
true | false | False |
| LastDayOfMonth | SwitchParameter | Create a scheduled task that runs on the last day of every month. To run on specific months, specify the |
true | false | False |
| Month | Month[] | Create a scheduled task that runs on specific months. To create a monthly task, use the |
false | false | |
| DayOfMonth | Int32 | The day of the month to run a monthly task. |
true | false | 0 |
| WeekOfMonth | WeekOfMonth | Create a scheduled task that runs a particular week of the month. |
true | false | |
| DayOfWeek | DayOfWeek[] | The day of the week to run the task. Default is today. |
true | false | |
| Once | SwitchParameter | Create a scheduled task that runs once. |
true | false | False |
| OnStart | SwitchParameter | Create a scheduled task that runs at startup. |
true | false | False |
| OnLogon | SwitchParameter | Create a scheduled task that runs when the user running the task logs on. Requires the |
true | false | False |
| OnIdle | Int32 | Create a scheduled task that runs when the computer is idle for N minutes. |
true | false | 0 |
| OnEvent | SwitchParameter | Create a scheduled task that runs when events appear in the Windows event log. |
true | false | False |
| EventChannelName | String | The name of the event channel to look at. |
true | false | |
| EventXPathQuery | String | The XPath event query to use to determine when to fire |
true | false | |
| TaskXmlFilePath | String | Install the task from this XML path. |
true | false | |
| TaskXml | XmlDocument | Install the task from this XML. |
true | false | |
| Interval | Int32 | Re-run the task every N minutes. |
false | false | 0 |
| StartDate | DateTime | The date the task can start running. |
false | false | |
| StartTime | TimeSpan | The start time to run the task. Must be less than |
true | false | |
| Duration | TimeSpan | The duration to run the task. Usually used with |
false | false | |
| EndDate | DateTime | The last date the task should run. |
false | false | |
| EndTime | TimeSpan | The end time to run the task. Must be less than |
false | false | |
| Interactive | SwitchParameter | Enables the task to run interactively only if the user is currently logged on at the time the job runs. The task will only run if the user is logged on. Must be used with |
false | false | False |
| NoPassword | SwitchParameter | No password is stored. The task runs non-interactively as the given user, who must be logged in. Only local resources are available. Must be used with |
false | false | False |
| HighestAvailableRunLevel | SwitchParameter | If the user is an administrator, runs the task with full administrator rights. The default is to run with limited administrative privileges. If UAC is enabled, an administrator has two security tokens: a filtered token that gets used by default and grants standard user rights and a full token that grants administrative rights that is only used when a program is "Run as administrator". Using this switch runs the scheduled task with the adminisrators full token. (Information taken from How does "Run with the highest privileges" really work in Task Scheduler ?.) |
false | false | False |
| Delay | TimeSpan | The wait time to delay the running of the task after the trigger is fired. Must be less than 10,000 minutes (6 days, 22 hours, and 40 minutes). |
false | false | |
| TaskCredential | PSCredential | The principal the task should run as. Use |
false | false | |
| Principal | String | The built-in identity to use. The default is |
false | false | System |
| Force | SwitchParameter | Create the task even if a task with the same name already exists (i.e. delete any task with the same name before installation). |
false | false | False |
Carbon.TaskScheduler.TaskInfo.
Install-ScheduledTask -Name 'CarbonSample' -TaskToRun 'C:\Windows\system32\notepad.exe' -Minute 5
Creates a scheduled task "CarbonSample" to run notepad.exe every five minutes. No credential or principal is provided, so the task will run as System
.
Install-ScheduledTask -Name 'CarbonSample' -TaskToRun 'C:\Windows\system32\notepad.exe' -Minute 1 -TaskCredential (Get-Credential 'runasuser')
Demonstrates how to run a task every minute as a specific user with the TaskCredential
parameter.
Install-ScheduledTask -Name 'CarbonSample' -TaskToRun 'C:\Windows\system32\notepad.exe' -Minute 1 -Principal LocalService
Demonstrates how to run a task every minute as a built-in principal, in this case Local Service
.
Install-ScheduledTask -Name 'CarbonSample' -TaskToRun 'calc.exe' -Minute 5 -StartTime '12:00' -EndTime '14:00' -StartDate '6/6/2006' -EndDate '6/6/2006'
Demonstrates how to run a task every 5 minutes between the given start date/time and end date/time. In this case, the task will run between noon and 2 pm on 6/6/2006
.
Install-ScheduledTask -Name 'CarbonSample' -TaskToRun 'notepad' -Hourly 1
Creates a scheduled task CarbonSample
which runs notepad.exe
every hour as the LocalService
user.
Install-ScheduledTask -Name 'CarbonSample' -TaskToRun 'notepad.exe' -Weekly 1
Demonstrates how to run a task ever N weeks, in this case every week.
Install-ScheduledTask -Name 'CarbonSample' -TaskToRun 'notepad.exe' -Monthly
Demonstrates how to run a task the 1st of every month.
Install-ScheduledTask -Name 'CarbonSample' -TaskToRun 'notepad.exe' -Monthly -DayOfMonth 15
Demonstrates how to run a monthly task on a specific day of the month.
Install-ScheduledTask -Name 'CarbonSample' -TaskToRun 'notepad.exe' -Month 1,4,7,10 -DayOfMonth 5
Demonstrates how to run a task on specific months of the year on a specific day of the month.
Install-ScheduledTask -Name 'CarbonSample' -TaskToRun 'notepad.exe' -WeekOfMonth First -DayOfWeek Sunday
Demonstrates how to run a task on a specific week of each month. In this case, the task will run the first Sunday of every month.
Install-ScheduledTask -Name 'CarbonSample' -TaskToRun 'notepad.exe' -Month 1,5,9 -WeekOfMonth First -DayOfWeek Sunday
Demonstrates how to run a task on a specific week of specific months. In this case, the task will run the first Sunday of January, May, and September.
Install-ScheduledTask -Name 'CarbonSample' -TaskToRun 'notepad.exe' -LastDayOfMonth
Demonstrates how to run a task the last day of every month.
Install-ScheduledTask -Name 'CarbonSample' -TaskToRun 'notepad.exe' -LastDayOfMonth -Month 1,6
Demonstrates how to run a task the last day of specific months. In this case, the task will run the last day of January and June.
Install-ScheduledTask -Name 'CarbonSample' -TaskToRun 'notepad.exe' -Once -StartTime '0:00'
Demonstrates how to run a task once. In this case, the task will run at midnight of today (which means it probably won't run since it is always past midnight).
Install-ScheduledTask -Name 'CarbonSample' -TaskToRun 'notepad.exe' -OnStart
Demonstrates how to run a task when the computer starts up.
Install-ScheduledTask -Name 'CarbonSample' -TaskToRun 'notepad.exe' -OnStart -Delay '0:30'
Demonstrates how to run a task when the computer starts up after a certain amount of time passes. In this case, the task will run 30 minutes after the computer starts.
Install-ScheduledTask -Name 'CarbonSample' -TaskToRun 'notepad.exe' -OnLogon -TaskCredential (Get-Credential 'runasuser')
Demonstrates how to run a task when the user running the task logs on. Usually you want to pass a credential when setting up a logon task, since the built-in users never log in.
Install-ScheduledTask -Name 'CarbonSample' -TaskToRun 'notepad.exe' -OnLogon -Delay '1:45' -TaskCredential (Get-Credential 'runasuser')
Demonstrates how to run a task after a certain amount of time passes after a user logs in. In this case, the task will run after 1 hour and 45 minutes after runasuser
logs in.
Install-ScheduledTask -Name 'CarbonSample' -TaskToRun 'notepad.exe' -OnIdle
Demonstrates how to run a task when the computer is idle.
Install-ScheduledTask -Name 'CarbonSample' -TaskToRun 'notepad.exe' -OnIdle -Delay '0:05'
Demonstrates how to run a task when the computer has been idle for a desired amount of time. In this case, the task will run after the computer has been idle for 5 minutes.
Install-ScheduledTask -Name 'CarbonSample' -TaskToRun 'wevtvwr.msc' -OnEvent -EventChannelName System -EventXPathQuery '*[Sytem/EventID=101]'
Demonstrates how to run an event when certain events are written to the event log. In this case, wevtvwr.msc will run whenever an event with ID 101
is published in the System event channel.
Install-ScheduledTask -Name 'CarbonSample' -TaskToRun 'notepad.exe' -TaskXmlFilePath $taskXmlPath
Demonstrates how to create a task using the Task Scheduler XML schema for a task that runs as a built-in principal. You can export task XML with the schtasks /query /xml /tn <Name>
command.
Install-ScheduledTask -Name 'CarbonSample' -TaskToRun 'notepad.exe' -TaskXmlFilePath $taskXmlPath -TaskCredential (Get-Credential 'runasuser')
Demonstrates how to create a task using the Task Scheduler XML schema for a task that will run as a specific user. The username in the XML file should match the username in the credential.
Install-ScheduledTask -Name 'CarbonSample' -TaskToRun 'notepad.exe' -TaskXml $taskXml
Demonstrates how to create a task using raw XML that conforms to the Task Scheduler XML schema for a task that will run as a built-in principal. In this case, $taskXml
should be an XML document.
Install-ScheduledTask -Name 'CarbonSample' -TaskToRun 'notepad.exe' -TaskXml $taskXml -TaskCredential (Get-Credential 'runasuser')
Demonstrates how to create a task using raw XML that conforms to the Task Scheduler XML schema for a task that will run as a specific user. In this case, $taskXml
should be an XML document. The username in the XML document should match the username in the credential.
Install-ScheduledTask -Name 'CarbonTasks\CarbonSample' -TaskToRun 'notepad.exe' -Monthly
Demonstrates how to create tasks under a folder/directory: use a path for the Name
parameter.


#include <hid_engine.h>
Data Fields | |
| uint8_t | bInterface |
| tHidDescriptor | hidDescriptor |
| uint8_t * | reportDescriptor |
| uint8_t * | inputReportRegister |
| uint8_t * | resetRegister |
| uint8_t * | outputReportRegister |
| uint8_t * | dataRegister |
| uint8_t | setReportCalled |
| uint8_t | numOfReportIDs |
| uint16_t | sizeOfDataReg |
| uint8_t | currentQueuePos |
| uint8_t ** | featureReports |
| uint8_t ** | featureReportsDefault |
| uint8_t ** | inputReportQueue |
| uint8_t | curOpCode |
| uint8_t | inputOffset |
| tReportDescriptorInformation | info |
Interface structure for HIDI2C. Contains all of the allocated registers as well as the HID descriptor for a specific physical interface.
| uint8_t HidI2CInterface::bInterface |
Referenced by initializeHidI2CStackIdle().
| tHidDescriptor HidI2CInterface::hidDescriptor |
Interface (ie. USCIBO) defined in settings file
Referenced by initializeHidI2CStackIdle().
| uint8_t* HidI2CInterface::reportDescriptor |
HID descriptor
Referenced by initializeHidI2CStackIdle().
| uint8_t* HidI2CInterface::inputReportRegister |
Report descriptor (usually const)
Referenced by initializeHidI2CStackIdle().
| uint8_t* HidI2CInterface::resetRegister |
| uint8_t* HidI2CInterface::outputReportRegister |
Referenced by initializeHidI2CStackIdle().
| uint8_t* HidI2CInterface::dataRegister |
Register for output reports
Referenced by handleHIDCommand(), and initializeHidI2CStackIdle().
| uint8_t HidI2CInterface::setReportCalled |
Register used for storing commands/information
Referenced by hidI2C_handleData(), and hidI2C_handleRegisterPointer().
| uint8_t HidI2CInterface::numOfReportIDs |
Internal API variable for current report
Referenced by initializeHidI2CStackIdle().
| uint16_t HidI2CInterface::sizeOfDataReg |
Number of report IDs (0 if no report IDs)
Referenced by handleHIDCommand(), and initializeHidI2CStackIdle().
| uint8_t HidI2CInterface::currentQueuePos |
Size in bytes of data register
Referenced by handleHIDCommand(), hidI2C_setNextQueuedData(), initializeHidI2CStackIdle(), queueResetReport(), and setInputReportAndInitiateSend().
| uint8_t** HidI2CInterface::featureReports |
Referenced by initializeHidI2CStackIdle().
| uint8_t** HidI2CInterface::featureReportsDefault |
Storage for feature reports
Referenced by initializeHidI2CStackIdle().
| uint8_t** HidI2CInterface::inputReportQueue |
Storage for feature reports
Referenced by hidI2C_setNextQueuedData(), initializeHidI2CStackIdle(), and setInputReportAndInitiateSend().
| uint8_t HidI2CInterface::curOpCode |
Referenced by handleHIDCommand(), hidI2C_handleData(), and initializeHidI2CStackIdle().
| uint8_t HidI2CInterface::inputOffset |
| tReportDescriptorInformation HidI2CInterface::info |


We visualize interfaces!
- strategize web-enabled networks
- cultivate vertical partnerships
- monetize bricks-and-clicks networks
- whiteboard innovative action-items
- orchestrate enterprise schemas
- engage out-of-the-box ROI
- harness ubiquitous convergence
- incentivize magnetic methodologies
- exploit bricks-and-clicks web-readiness
- leverage impactful infomediaries
- iterate intuitive platforms
- extend synergistic functionalities


Back to Home
I created a prototype for a travel application that I am interested in developing. My hope for the travel application is that people can meet each other on the app while they are traveling so that they can experience the joys of seeing new places with cool people and learn from locals.


My Amazing Team
Manager
Manager
Manager's ID: 123
Manager's Email:
<EMAIL_ADDRESS>Manager's Office Number: 1
Engineeer1
Engineer
Engineeer1's ID: 234
Engineeer1's Email:
<EMAIL_ADDRESS>Engineeer1's GitHub:
DCampos07
Intern1
Intern
Intern1's ID: 345
Intern1's Email:
<EMAIL_ADDRESS>Intern1's School: UCF


{% include "emails/_paragraph_end.htm" %}
If the button above didn't work, please copy and paste this text to the address bar: {{ linkurl }}


{% include head.html %}
We love our horses a whole lot! They get nuzzles and snuggles every day along with their hay and training rides.
{{ post.subtitle | escape }}


|
| function | Automaton (in varargin) |
| |
| function | CreationFonctionTransitionEnsembleDesParties (in obj) |
| |
| function | Evolution (in obj, in Conditions, in Initial) |
| |
| function | AjoutTransitionStable (in obj) |
| |
| function | PathResearche (in obj, in initialState, in studiedState) |
| |
| function | AutomateAccessible (in obj, in initialState, in studiedState) |
| |
| function | AutomateAccessibleIncertain (in obj, in Etat_initial, in Etat) |
| |
| function | Ensemble2Etats (in obj, in Ensemble) |
| |
| function | EnsemblesContenantEtat (in obj, in Etats) |
| |
| function | Etats2Ensemble (in obj, in Etats) |
| |
◆ Automaton()
◆ AjoutTransitionStable()
| function AjoutTransitionStable |
( |
in |
obj | ) |
|
◆ AutomateAccessible()
| function AutomateAccessible |
( |
in |
obj, |
|
|
in |
initialState, |
|
|
in |
studiedState |
|
) |
| |
◆ AutomateAccessibleIncertain()
| function AutomateAccessibleIncertain |
( |
in |
obj, |
|
|
in |
Etat_initial, |
|
|
in |
Etat |
|
) |
| |
◆ CreationFonctionTransitionEnsembleDesParties()
| function CreationFonctionTransitionEnsembleDesParties |
( |
in |
obj | ) |
|
◆ Ensemble2Etats()
| function Ensemble2Etats |
( |
in |
obj, |
|
|
in |
Ensemble |
|
) |
| |
◆ EnsemblesContenantEtat()
| function EnsemblesContenantEtat |
( |
in |
obj, |
|
|
in |
Etats |
|
) |
| |
◆ Etats2Ensemble()
| function Etats2Ensemble |
( |
in |
obj, |
|
|
in |
Etats |
|
) |
| |
◆ Evolution()
| function Evolution |
( |
in |
obj, |
|
|
in |
Conditions, |
|
|
in |
Initial |
|
) |
| |
◆ PathResearche()
| function PathResearche |
( |
in |
obj, |
|
|
in |
initialState, |
|
|
in |
studiedState |
|
) |
| |
◆ Fct
◆ MatricesTransition
| Property MatricesTransition |
◆ NomsEvenements
The documentation for this class was generated from the following file:


Java library for Tin Can API Current version: 0.6.0
View the API Documentation
View the Project on GitHub RusticiSoftware/TinCanJava


--- layout: page title: Contact Me description: Have questions? I have answers. background: '/img/bg-contact.jpg' form: true permalink: /contact/ ---
또는


{% extends "base.html" %} {% block title %} Home {% endblock %} {% block content %}
Contact Page has been visited:
Services Page has been visited:
Features Page has been visited:
Pricing Page has been visited:
About Page has been visited:
Blog Page has been visited:


Impact
For most people, trash is something better left out of sight and out of mind. However, waste habits have fiscal and environmental consequences. Based on procurement records, UH Mānoa uses 21 tons of paper towels annually. This cost was more than $98,000 in 2016, and paper towels alone created enough waste to cover 2,121 miles (nearly the distance from Hawaiʻi to California). There are economic and environmental impacts (deforestation, depletion of freshwater resources and transportation emissions) associated with the production and distribution of paper towels.
“In order to manage our waste we need to first understand what we are throwing away so that we can responsibly direct our purchasing and minimize our disposal,” said Roxanne Adams, UH Mānoa director of building and grounds management.
Contact
Nicole Chatterson
example@foo.com


Restaurant & Lounge
0 items
Burgers
Tacos
Salads
Desserts
Drinks & Sides
Item
Qty.
Description
Unit Price
Amoount
Cancel the order
×
Are you sure about cancelling the order?


 No commitment. Cancel Online anytime.
Watch Free For 30 daysWatch Tv shows and movies anytime,anywhere perosnalized for you.
Watch Free for 30 daysWatch on your tv
Smart Tvs,PlayStation,Xbox,Chromecast and more.
Watch instantly or download for later
Available on phone and tablet wherever you go.
Use any Computer
Watch right on Netflix.com
Choose one plan and watch everything on Netflix
Watch free for 30 days| Mobile | Basic | Standard | Premium | |
|---|---|---|---|---|
| Monthly price | Rs. 199 | Rs. 499 | Rs. 699 | Rs. 799 |
| Video quality | Good | Good | Better | Best |
| Resolution | 480p | 720p | 1080p | Ultra 4K + Hd |
| Screens | 1 | 2 | 3 | 4 |


The Parser package defines an abstract parser used by the transformational interpreter, and a generic end-of-statement detector. This abstract parser is used to implement a chain of preprocessors and parsers for the interactive interpreter.
Input statements are first piped through a preprocessor which handles directives and syntax touchup, then through a metaparser for end-of-statement detection, then into the parser which generates an XML Abstract Syntax Tree (XML-AST). The parsed statements are then transformed using XSLT and run on the substrate interpreter.
Parsers for a specific language are built using dependency injection in the Spring configuration file: the outer metaparser layer is injected with a technology-specific layer, such as for grammars/javacc, which in turn is injected with a language-specific generated parser such as for Junicon.


“The Mandalorian” as a Wernor Herzog documentary
by Thom DunnThe Mandalorian is the new Star Wars TV show premiering on Disney Plus+. Werner Herzog is the famous filmmaker who will also be appearing as an actor on the show.
It was only a matter of time before someone mashed-up The Mandalorian’s trailer footage with Herzog’s iconic documentarian voiceover. It’s not Grizzly Man, but it’s close.


title = "Showcase | Gravity Ace" url = "/showcase/gravity-ace" layout = "showcase-item" description = "Gravity Ace showcase page" is_hidden = 0 == {##} {% put title %} Gravity Ace {% endput %} {% put author %} John Watson {% endput %} {% put author_url %} https://gravityace.com/ {% endput %} {% put release_date %} October 2020 (Early Access) {% endput %} {% put platforms %} windows, linux {% endput %} {% put description %}
Gravity Ace is a 2D multi-directional gravity shooter (cave-flyer). It's a love letter to Thrust and Gravitar and all of the amazing games they inspired. Descend into dark caverns, fly and blast your way past enemies, retrieve the reactor core and make your escape, all while fighting the deadly embrace of crushing gravity.
{% endput %} {% put image %} gravity-ace.png {% endput image %} {% put placeholder %} linear-gradient(90deg, #a52a37 20%, #0f0e24 60%, #c53f4e 88%, #b53442 93%) {% endput %} {% put youtube_embed_code %} wb0r83K3YBk {% endput %} {% put link_steam %} https://store.steampowered.com/app/1003860/Gravity_Ace/ {% endput %} {% put link_itch %} https://jotson.itch.io/gravity {% endput %} {% put developer_article_quote %}I think without Godot I'd be much farther behind where I am now. Godot just works in a way that meshes with how I like to think and work. I'd be much less productive for sure.
The 2D workflow is pretty great. Just drop some images in and drag them onto the canvas, attach a script, write a few lines of GDScript and you've got the beginning of a game. Modifying assets is seamless. And the node tree is super powerful. Reusing scenes in other scenes allows me to do a lot of stuff quickly and visually that would have been much more cumbersome in other frameworks.
{% endput %} {% put developer_article_title %} Godot Showcase - Gravity Ace developer talks about his experience {% endput %} {% put developer_article_url_slug %} godot-showcase-john-watson-gravity-ace {% endput %}


THE LIVING DAYLIGHTS A film review by Steve Rhodes Copyright 1998 Steve Rhodes
RATING (0 TO ****): **
Long running series, whether on television or in the movies, have to be careful or they'll soon be running strictly on autopilot. So it appears to have happened to the fifteenth episode of the James Bond saga, THE LIVING DAYLIGHTS.
This 1987 version has Timothy Dalton in his first of only two attempts to play superspy James Bond. Although he has the suave Bond look down pat, Dalton is missing some key ingredients. Bond always has a sense of humor and seems, no matter how successful, to be somehow vulnerable. Dalton doesn't crack a smile or ever seem to be in danger. That women want to jump in bed with him is completely convincing, but the rest of his character has a hollowness to it that makes him rarely credible or interesting.
Bond films are always travelogues in disguise. This one goes from Old World Czechoslovakia to the beautiful and romantic Vienna. Then it's on to colorful Tangiers. And finally we travel to the remote and war-savaged Afghanistan. Cinematographer Alec Mills makes them all look inviting with the sand-swept desert being the most attractive.
Jeroen Krabbe, who did such a fine job last year in LORCA, plays General Georgi Koskov, a Russian defector and double-dealer with a winsome smile, who is whisked away from the Russians by 007.
We learn that Bond does have his limits.  Maryam d'Abo, resembling a young Nastassja Kinski, is Kara Milovy, the cellist and Bond's love interest in the film.
Brad Whitaker, an arms dealer in cahoots with Koskov, is played for broad parody by Joe Don Baker. Since he's the only funny part in an all too serious Bond rendition, the story would have been better served if he had been given more screen time.
The complicated plot involves opium, high tech weapons trafficking, diamond smuggling, and the assassination of all British spies. The story is too choppy and just meanders from one locale to another without bringing the parts together into a compelling whole. There are a few nice chase scenes, as when Bond gets to play with the wide array of lethal toys in his Aston Martin, while being chased by a convoy of soldiers.
The movie is at its most imaginative when James and Kara escape from a falling plane, not with parachutes but in a jeep! Director John Glen even manages to stage this ridiculous scene in a semi-plausible fashion.
Arguably the high point of the film is the display of Q's latest gadgets, the best being a ghetto blaster that lives up to its name.
THE LIVING DAYLIGHTS runs too long at 2:10. It is rated PG for brief male and female nudity and violence and would be fine for kids around 9 or 10 and up.
My son Jeffrey, age 9, thought the movie was just "okay." He found the blood and the live heart live in a box gross. His overall complaint was that the story was "all pretty much just about Bond trying to kill just this one guy."
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


Copyright © 2009 Marc Worrell Date: 2009-03-02
Authors: Marc Worrell (marc@worrell.nl).
| extension/1 | Return the extension for a known mime type. |
| guess_mime/1 | Guess the mime type of a file by the extension of its filename. |
| identify/2 | Caching version of identify/1. |
| identify/3 | |
| identify_file/2 | Fetch information about a file, returns mime, width, height, type, etc. |
| identify_file/3 | |
| identify_file_direct/2 | Fetch information about a file, returns mime, width, height, type, etc. |
| is_mime_compressed/1 | Given a mime type, return whether its file contents is already compressed or not. |
extension(B) -> any()
Return the extension for a known mime type.
guess_mime(File::string()) -> string()
Guess the mime type of a file by the extension of its filename.
identify(Upload::File, Context) -> {ok, Meta} | {error, Error}
Caching version of identify/1. Fetches information about an image, returns width, height, type, etc.
identify(File, OriginalFilename, Context) -> any()
identify_file(File::filename(), Context) -> {ok, PropList} | {error, Reason}
Fetch information about a file, returns mime, width, height, type, etc. First checks if a module has a specific identification methods.
identify_file(File, OriginalFilename, Context) -> any()
identify_file_direct(File, OriginalFilename) -> {ok, PropList} | {error, Reason}
Fetch information about a file, returns mime, width, height, type, etc.
is_mime_compressed(Mime::string()) -> bool()
Given a mime type, return whether its file contents is already compressed or not.
Generated by EDoc, Apr 11 2012, 20:41:27.


Projects
not seeing anything here?
This website is the first project! Come back soon for the next one :)
My first attempt at a game in JavaScript was rough. It is SIMPLE and I don't know if you can actually win. It's not even interactive. I've got a lot of homework in front of me but hey, it is a start!


☰
Tutorial
Practice
Development
Bugs
/
<Enter to find>
Virtual keyboard (shows keys you need to press on your physical keyboard; not clickable)
Sections
×


AUTOMATE
With just a few clicks, automate manual processes and streamline operations within your business.
Budibase automations are designed to allow anyone the power to connect apps and automate processes.
Run tests on your automations.
Run scripts within automations.
Trigger automations using webhooks.
Add JavaScript to your automations.


This site "Adventures around the world", is dedicated to my mother thanks to her, I have known what is the beauty around us, in the world, and now I want to SHARE it with you guys. I want to show you how beautiful our world is .


{% extends 'base.html' %} {% load bootstrap3 %} {% block content %}
Really delete this Accounting Export? It covers the period from {{ accountingexport.date_from }} to {{ accountingexport.date_to }}, with the comment: {{ accountingexport.comment|default:"N/A" }}. This action cannot be undone!


This tool calculates levelized cost of energy (LCOE) for photovoltaic (PV) systems based on cost, performance, and reliability inputs for a baseline and a proposed technology.
Choose your inputs and watch the effect on LCOE to determine whether a proposed technology is cost-effective, to perform trade-off analysis among different technology options, and to do break-even analysis of cost or performance.
For more details, please consult the documentation. You may also be interested in other tools for calculating cost and performance for renewable energy.
Baseline LCOE (USD/kWh)
Proposed LCOE (USD/kWh)
Module price (USD/W)
Total installed system cost (USD/W)
Module price (USD/W)
Total installed system cost (USD/W)
If you use results from this calculator in a publication or proposal, please cite it:
TJ Silverman, MG Deceglie, KA Horowitz. “NREL Comparative PV LCOE Calculator.” Internet: http://pvlcoe.nrel.gov, March 2018.


Hey I am McCircuit, I work for Code School and I love writing Code!
Here are some of the technologies I enjoy writing day-to-day:


Relation between client and server.server is an machine and be will have a data base.then we enter and type youtube on web browser.web browser find the ip address and visit server machine where the processing .then after processing packet processing and send to the html content to the web browser will pass. that means javascript is main role in web development server side and client side both.
Continue readingWeb designing is main role in front-end developer.web developer design web page with help of html and css.html is basically standard markup language for giving a static skeleton and css used to handle the persentation of the html page. it makes our website beatiful and modern looking..
Continue readingDjango is free and open source web application framework written in python. and django is a power full framework.A django project may contain multiple project application.which means a group of application and file is called as django project..
Continue readingHistory of python It was created by Guido van Rossum, and first released on February 20, 1991. While you may know the python as a large snake, the name of the python programming language comes from anold BBC television comedy sketch series called Monty Python's Flying Circus...
Continue reading


ORPHANS A film review by David N. Butterworth Copyright 2000 David N. Butterworth
*** (out of ****)
While watching "Orphans," a Scottish film from 1997 currently being shown as part of the Shooting Gallery film series, I was reminded of a sketch by Derek & Clive, the fictitious--and excessively profane--duo conceived by comedians Peter Cook and Dudley Moore.
"Orphans" often times parallels that conceit, with one of its leads on such a violent bender that you flinch every time a minor character approaches. The crude language in the film, too, is as constant and difficult-to-stomach as it is in a Derek & Clive skit: "Orphans" features working-class stiffs from Glasgow, after all, and few niceties are spared when it comes to telling it like it is.
 Why? To avenge the recent stabbing of his big brother, Michael. And how come Michael took a shiv to the ribs? Well, he started a brawl in a pub when some of the locals started laughing at his big brother, Thomas. And why were they laughing at Thomas? Because he burst into tears while singing a Hollies' song he'd dedicated to their recently-departed mother.
"Orphans" often--and always--comes back to their recently-departed mother. In the film's opening scene, the three lads and their paraplegic sister Sheila bestow their respects by cutting off locks of their hair and laying them in their mother's coffin. In the film's final act, Thomas places flowers on her grave before trotting off with his sibs to grab a curry. Sandwiched between these, the insurmountable horror of finding themselves motherless, alone in this lonely Scottish city, on the eve of their mother's funeral, hits each grown family member and hits them hard.
Thomas (Gary Lewis) insists on keeping vigil by his mother's side, even if it means ignoring everything about those left living. Michael (Douglas Henshall) finds escape in the bottle. John (Stephen McCole) looks to a psychotic friend for a gun and bullets--they share a tortuous scene that recalls the rape in "A Clockwork Orange" without the Ludwig Van. And Sheila (Rosemarie Stevenson), tired of waiting by Thomas' side, heads home in her mechanized wheelchair only to encounter a cheerful girl with a smile and a party invite.
Sheila's is about the only good fortune to be found on a night in which a gale force wind tears the roof off the parish church.
"Orphans" is the feature directing debut of Peter Mullan. If that name sounds at all familiar it's because Mullan made a bit of a splash playing the title character in Ken Loach's 1998 drama, "My Name is Joe." While "Orphans" avoids Loach's rabid political agenda, it does bear some gritty similarities to the British director's work--the pessimistic, working-class protagonists; the attention to detail afforded its characters; and above all, the accents of its cast of unknowns, accents thick enough to require subtitles. To be fair, the dialects aren't as heavy as in Loach's "Riff-Raff," for example, but the on-screen translations add an appreciable level of comfort.
There *are* moments of humor in this dark, disturbing "comedy" but they are few and far between. "Orphans" may be brutal in its unfailing depiction of the pain of loss but it's also brutally honest; these are tortured, tormented souls who, for no other reason, just want their Mammy. And that's what makes sitting through the film worthwhile, even if the getting there isn't always easy.
-- David N. Butterworth<EMAIL_ADDRESS>Got beef? Visit "La Movie Boeuf" online at http://members.dca.net/dnb
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


|
| | Shader (ShaderType type, string folder_id, string file) |
| | Constructs a new instance of Shader with specified parameters More...
|
| |
| void | Dispose () |
| | Deletes this Shader from the GPU unmanaged resources More...
|
| |
|
| uint | Handle [get, protected set] |
| | The shader internal program handle More...
|
| |
| ShaderType | Type [get, protected set] |
| | The type of shader [VERTEX, GEOMETRY, FRAGMENT...] More...
|
| |
| String | Error [get, protected set] |
| | The error string containing errors and warnings of the Shader during compile time More...
|
| |
| ShaderStatus | Status [get, protected set] |
| | Indication of the current shader program status More...
|
| |
◆ Shader()
| HornetEngine.Graphics.Shader.Shader |
( |
ShaderType |
type, |
|
|
string |
folder_id, |
|
|
string |
file |
|
) |
| |
Constructs a new instance of Shader with specified parameters
- Parameters
-
| type | The type of shader [Vertex, Geometry, Fragment...] |
| sourcefile | The path to the shader source code |
◆ Dispose()
| void HornetEngine.Graphics.Shader.Dispose |
( |
| ) |
|
Deletes this Shader from the GPU unmanaged resources
◆ Error
| String HornetEngine.Graphics.Shader.Error |
|
getprotected set |
The error string containing errors and warnings of the Shader during compile time
◆ Handle
| uint HornetEngine.Graphics.Shader.Handle |
|
getprotected set |
The shader internal program handle
◆ Status
Indication of the current shader program status
◆ Type
| ShaderType HornetEngine.Graphics.Shader.Type |
|
getprotected set |
The type of shader [VERTEX, GEOMETRY, FRAGMENT...]
The documentation for this class was generated from the following file:


Hello, this is an example web application Here will appear the current server time if everything's fine


Sir Tim Berners-Lee
The creator of the World Wide Web
Tim Berners-Lee is also the founder and current director of the The World Wide Web Consortium (W3C), the World Wide Web's main international standards organization.
Here's a timeline of Tim Berners-Lee's life:
- 1955 - Born while both of his parents were working on the first commercially-built computer, the Ferranti Mark I.
- 1969 - Studied at London's independent Emanuel School.
- 1973 - Enrolled at the Queen’s College of the University of Oxford and graduated with a first-class degree in physics.
- 1976 - appointed as an engineer at the telecommunications company, Plessey in Poole, working on distributed transaction systems, message relays, and bar code technology.
- 1978 - Joined D. G. Nash Ltd, working on typesetting software for intelligent printers and a multitasking operating system.
- 1980 - Worked as a consultant sofware engineer at CERN, creating a program called "Enquire", a simple hyperlink program, laying the foundations for the World Wide Web.
- 1981 - started working at John Poole’s Image Computer Systems, Ltd where he worked on real time control firmware, graphics and communications software, and a generic macro language.
- 1984 - Received a fellowship at CERN and continued working there, realising that there was a need for a simpler and more efficient method of data sharing.
- 1989 - conceptualised and proposed the World Wide Web, an information sharing system that could be implemented around the world.
- 1991 - Made the world's first ever website, "info.cern.ch" which provided information on what the World Wide Web was and how it could be used for sharing information.
- 1994 - Founded the World Wide Web Consortium (W3C) deciding that it's technologies should be royalty-free so anyone could benefit from them.
- 1995 - presented with The Software System Award from the Association for Computing Machinery (ACM).
- 1999 - named as one of the 100 Most Important People of the 20th century by the Time Magazine.
- 2004 - Became a professor of Computer Science at the university of Southampton, where he worked on the Semantic Web.
- 2006 - Became the co-director of the Web Science Trust, which was launched to optimise its usage and design.
- 2009 - Started serving as the director of the World Wide Web Foundation.
- 2013 - Became one of five Internet and Web pioneers awarded the inaugural Queen Elizabeth Prize for Engineering.
"Anyone who has lost track of time when using a computer knows the propensity to dream, the urge to make dreams come true and the tendency to miss lunch."
-Tim Berners-Lee
Written and coded by
Alec Stone


This tests that it's possible to control an embed that is nested inside an object with a span tag in between.


Jason Bourne
Send Jason a message
Jason liked a post in New to Git.
Jason answered a question in HTML is Not CSS
Jason posted in Backend Help Desk.
Hi, I'm having trouble with python. I'm trying to build a database for


Medical Record Sharing System
Hospital
Register a hospital
Hospital Address:
Doctor
Hospital Address:
Register a doctor
Doctor Address:
Patient Address:
Read medical record
New record:
Add a record
Patient
Register a patient
Patient Address:
Hospital Address:
Grant access to the hospital.
Remove access to the hospital.


Pete Doherty arrested for buying cocaine in Paris
by Amanda HatfieldPete Doherty (The Libertines, Babyshambles, etc) has been arrested in Paris for allegedly buying cocaine, according to Paris authorities. The Associated Press report that the Paris prosecutor’s office say Doherty spent Thursday night into Friday in detention after being apprehended during a drug transaction, but wouldn’t confirm reports that he was carrying 2 grams of cocaine, or that the arrest happened in the former red-light district of Pigalle.
This arrest is one of many drug related offenses Doherty has been collared for since his ascent to fame in the early 2000s, including possession, driving under the influence and with a suspended license, and automobile theft.
The Libertines are scheduled to begin a European tour later this month, which runs through December; no word has come from the band yet on how Doherty’s arrest could affect those dates.